使用JSON的Jersey RESTfull服务
我想将JSON-Post中的值解析为Java-Variables。 但他们总是空着的!
JSON-post:
{"algID":0,"vertices":[1,2,3]}
我尝试将其解析为Java-Variables:
@POST @Consumes(MediaType.APPLICATION_JSON) @Path("getCloseness_vertices") public String getCloseness_vertices( @FormParam("algID") int algID, @FormParam("vertices") IntArray vertices)
如果我这样尝试:
public String getCloseness_vertices(int algID)
Tomcat说:
用于Java类int的消息体读取器,Java类型int和MIME媒体类型application / json; charset =未找到UTF-8。
任何帮助都会很好,我只是不明白。
您需要创建一个POJO,Jersey可以将JSON序列化为:
import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class MyPojo { public int algID; public int[] verticies; public MyPojo() {} // constructor is required }
然后 …
@POST @Consumes(MediaType.APPLICATION_JSON) @Path("getCloseness_vertices") public String getCloseness_vertices(MyPojo p) { int i = p.algID; }
您还需要包含jersey-json jar文件。