Javax REST 响应实体 = null

Javax REST Response entity = null

我正在使用 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 class,我可以再次使用该对象。

看来,回应是正确的。 如果我调试我的代码,响应会正确填充。

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

我不知道为什么?

屏幕 1 是我发送前的回复:

画面2是收到后的回复:

我找到了解决办法。 我必须将 "valid" readEntity 添加到我的 WebTarget 请求中。 我的情况是我已经编写了一个响应对象,也许 String.class 也可以。我需要稍后在我的代码中回复 class 以传输一些更详细的信息。

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