如何在 java REST 中返回带有空实体的响应状态 405?
@POST
@Path("/path")
public Response createNullEntity() {
return Response.created(null).status(405).entity(null).build();
}
它返回状态码405,但实体不为null,它是错误405的http页面。
当您返回错误状态时,Jersey 将响应委托给容器的错误处理sendError http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html#sendError%28int%29. When sendError
被调用时,容器将提供一个错误页面。该过程概述于Java Servlet 规范 http://download.oracle.com/otndocs/jcp/servlet-3.0-fr-eval-oth-JSpec/§10.9 错误处理。
我怀疑您看到的是容器的 405 响应的默认错误页面。您可能可以通过以下方式解决您的问题指定自定义错误页面 https://stackoverflow.com/questions/7066192/how-to-specify-the-default-error-page-in-web-xml(可能是空的)。或者,泽西岛不会使用sendError
如果您在回复中提供实体。您可以给它一个空字符串,如下所示:
@POST
@Path("/path")
public Response createNullEntity() {
return Response.status(405).entity("").build();
}
上面的结果是Content-Length
of 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)