我正在使用JAX-RS,我想显示HTTP状态和错误消息。
示例:HTTP 204 No Content
这是我的代码:
public Response getMessageById(@Context HttpServletRequest request,
@PathParam("idMessage") BigInteger idMessage){
if (idMessage== null){
return Response.status(HttpURLConnection.HTTP_NO_CONTENT)
.entity("No Content").build();
}
}
显示没有HTTP状态的No Content
。
答案 0 :(得分:1)
HTTP定义响应头和响应主体。后者是通过调用entity()
设置的,前者是status()
。所以你实际发送的是:
204 No Content
No Content
如果您使用的工具默认不显示,则您看不到标题。例如,使用curl -v http://your-rest-service/api/resource
,请查看。
此外:
@Path
HttpURLConnection
中的常量,但使用javax.ws.rs.core.Response.Status
HttpServletRequest
仅适用于罕见的边缘情况。如果您不需要,请不要使用它。