如何在java REST中使用空实体返回响应状态405?
@POST
@Path("/path")
public Response createNullEntity() {
return Response.created(null).status(405).entity(null).build();
}
它返回状态代码405,但实体不为null,它是错误405的http页面。
答案 0 :(得分:2)
当您返回错误状态时,Jersey会通过sendError
将响应委派给容器的错误处理。调用sendError
时,容器将提供错误页面。 Java Servlet Specification§10.9错误处理中概述了此过程。
我怀疑你看到的是容器的405响应的默认错误页面。您可以通过specifying a custom error page(可能为空)解决您的问题。或者,如果您在回复中提供实体,泽西岛将不会使用sendError
。你可以像这样给它一个空字符串:
@POST
@Path("/path")
public Response createNullEntity() {
return Response.status(405).entity("").build();
}
上述结果为Content-Length
的{{1}}