Rest 响应的实体为空
目前,我正在为我们正在使用的rest服务编写模拟代码。对于一个例子,我想返回一个404,在正文中包含一条特定的消息:Rest 响应的实体为空,rest,java-8,Rest,Java 8,目前,我正在为我们正在使用的rest服务编写模拟代码。对于一个例子,我想返回一个404,在正文中包含一条特定的消息: @POST @Produces(MediaType.APPLICATION_XML) @Consumes(MediaType.APPLICATION_XML) @Path("/bookings") public javax.ws.rs.core.Response performBooking(final BookingRequest booking) { if (shou
@POST
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.APPLICATION_XML)
@Path("/bookings")
public javax.ws.rs.core.Response performBooking(final BookingRequest booking) {
if (shouldfail(booking)) {
return Response.status(Response.Status.NOT_FOUND).entity("specific message in entity").build();
}
// some more other cases below...
}
如果我使用单元测试来测试模拟,一切正常:
final String failedMessage = response.getEntity().toString();
但是如果我部署rest服务并调用它,我将得到正确的404代码,但实体是null
为了得到有效的答案,我在实体中放置了一个BookingResponse
对象(简单的DTO,其中包含一些ID),它可以实现这一点。只是绳子似乎消失了
知道我的字符串消失的原因吗?404可能是因为您根本没有访问正确的链接。。你能在你的控制器请求的时候添加一个日志语句,看看它是否有效吗?@Eugene:是的,它正在与我的模拟对话,真实代码中有几个日志,还有几个其他测试正在与其他测试用例的模拟对话。