Javax REST响应实体= null

时间:2019-01-16 14:27:39

标签: java rest java-ee response resteasy

我正在使用javax创建REST服务,以将Java对象从一个系统发送到另一个系统。

我发送数据如下:

WebTarget wt = client.target(baseUrl.toString()).path(restUrlSuffix);
response = wt.request(MediaType.APPLICATION_JSON).post(Entity.json(transferJSON));

我定义了一种应以JSON形式接收实体的方法:

@POST
@Path("/post")
@Consumes("application/json")
@Produces("application/json")
public Response saveWorkflowDefinition(@Valid String json) {
    .....
    .....
    String message = "Message to return";
    Response res = Response.ok(message).build();
    return res;
}

使用这种方法,一切都很好。数据以JSON的形式到达,可以将其转换回我的java类,然后我可以再次使用该对象。

似乎响应也是正确的。 如果我调试代码,则响应将正确填充。

但是在我要接收此响应并检查它的那一侧,实体部分为空。

我不知道为什么?

屏幕1是我发送之前的回复: enter image description here

屏幕2是收到它后的响应: enter image description here

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。 我必须在WebTarget请求中添加一个“有效” readEntity。 就我而言,我已经编写了一个响应对象,也许String.class也可以工作。稍后我需要在代码中使用响应类来传输一些更详细的信息。

response = wt.request(MediaType.APPLICATION_JSON).post(Entity.json(transferJSON)).readEntity(WFResponse.class);