我有以下的POJO:
public class Order {
private String orderCode;
// And many more ... getters and setter
}
以下是REST资源:
@Path("/customers/{customercode}/orders")
public class OrderResource {
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response create(@PathParam("customercode") String customerCode, Order order) {
// ...
}
// ...
}
现在有一些客户端以JSON格式向此URL发送一个
Order
对象。虽然请求中有一个有效的JSON主体(我可以在ContainerRequestContext
对象中看到它),但customerCode
参数被设置为预期值,但order
参数却为null
。Jersey的日志没有任何问题(即使在DEBUG模式下也是如此)。
有什么想法吗?谢谢!(我正在使用带Jackson的Jersey 2)
ContainerRequestContext
中读取它的?这只是为了调试还是已经是你的应用程序的一部分(从上下文中读取请求)? - Paul Samsothanull
,作为一个Order
。 - t777ContainerRequestContext
强制转换为(ContainerRequest)
。使用ContainerRequest.bufferEntity()
,然后使用ContainerRequest.readEntity(Order.class)
。 - Paul SamsothaContainerRequestContext.getEntityStream()
)而不需要知道任何类类型或媒体类型? - t777readEntity(InputStream.class)
可能吗?如果你总是期望文本数据,那就用String.class
。 - Paul Samsotha