我想使用Jersey来实现一些Java REST服务.默认的POJO转换器JAXB处理JSON对象有点奇怪,所以我想使用Jackson以很少或更少的开销转换POJO.我该如何告诉J2ME框架使用另一个转换器?
我的web.xml看起来像这样:
<!-- Jersey JAVA REST implementation -->
<servlet>
<servlet-name>Jersey</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>org.foobar.rest.services</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud) 我使用jeresy ClientRespone.getEntity进行反序列化时遇到问题
我试图遵循一些教程和问题,包括:http : //jersey.576304.n2.nabble.com/How-can-I-parse-a-java-util-List-lt-gt-Is-它支持泽西客户端-tdd2300852.html https://jersey.java.net/nonav/documentation/1.5/json.html http://www.programcreek.com/java-api-examples/的index.php?API = com.sun.jersey.api.client.GenericType
我仍然一遍又一遍地得到同样的例外
我的目标是:而不是:
response.getEntity(String.class); --> {"name":"Ben","type":"The man","id":0}
Run Code Online (Sandbox Code Playgroud)
然后解析它(例如使用Jackson),我想让实体进入我的POJO对象.
到目前为止,这是我的尝试:
服务器端:
@POST
@Path("/account") // route to a specific method.re
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response saveDataIntoHash(Account account) {
Account createdAccount = new Account(account.getName(), account.getType());
accountHash.put(createdAccount.getID(), createdAccount);
return Response.status(201).entity(new AccountResponse(createdAccount.getID())).build();
}
Run Code Online (Sandbox Code Playgroud)
服务器端帐户类:
private String name;
private String type;
private int ID;
private static int classID = 0;
public Account(String name, String type) {
this.name = name;
this.type = type;
this.ID = classID++;
}
public Account() …Run Code Online (Sandbox Code Playgroud) 我正在使用Jersey for REST WS,我将我的响应作为JSON.我想将此响应转换为POJO.怎么做 ?日Thnx