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);
我正在使用 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);