在我正在处理的Apache CXF JAX-RS项目中,我已将JSON提供程序配置为Jackson。Apache CXF默认POST请求正文与杰克逊
这通常工作,但我想在POST
请求主体永远是不null
,因此,如果客户端发送一个空体(无JSON {}
)的请求,我还是会得到一个默认的POJO。
E.g.
CXF方:
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
@Path("/foo")
public Response postFoo(FooObj foo) {
if (foo == null)
return Response.ok("No foo");
else
return Response.ok("Foo found");
}
客户端:
curl -XPOST -H "Content-Type: application/json" "http://localhost/foo"
"No Foo" // Though we'd like to see "Foo found"