【发布时间】:2014-10-31 15:46:56
【问题描述】:
我按照中的答案
Post/Put/Delete http Json with additional parameters in Jersey + general design issues
但我继续收到400 Bad Request...知道如何解决这个问题吗?
这是我为 jersey restful server 准备的:
@PUT
@Path("/insertmessage")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.TEXT_PLAIN })
public Response insertMessage(Message m) {
return Response.ok(m.toString(), MediaType.TEXT_PLAIN).build();
}
这是我为客户准备的:
ClientConfig config = new DefaultClientConfig();
config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(new Message("a", "b", "message"));
System.out.print(service.path("insertmessage")
.type(MediaType.APPLICATION_JSON).put(String.class, json));
这是消息的构造函数:
@JsonCreator
public Message(@JsonProperty("sender") String sender,
@JsonProperty("receiver") String receiver,
@JsonProperty("content") String content) {
this.sender = sender;
this.receiver = receiver;
this.content = content;
}
我有:
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
在我的 web.xml 中
【问题讨论】: