3
如何在java REST中返回空實體的響應狀態405?我如何返回空實體的響應狀態405?
@POST
@Path("/path")
public Response createNullEntity() {
return Response.created(null).status(405).entity(null).build();
}
它返回狀態代碼405,但實體不爲空,這是錯誤405
如何在java REST中返回空實體的響應狀態405?我如何返回空實體的響應狀態405?
@POST
@Path("/path")
public Response createNullEntity() {
return Response.created(null).status(405).entity(null).build();
}
它返回狀態代碼405,但實體不爲空,這是錯誤405
的HTTP頁面當您返回一個錯誤,新澤西州的代表在迴應你的容器的錯誤處理通過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();
}
在0
Content-Length
上述結果謝謝您的快速答覆。我已經嘗試了這一點,我得到了相同的實體(錯誤405的http頁面)和content-lenght 980. – junior@junior你使用澤西島嗎?什麼應用服務器?我用Tomcat 7.0.39測試了上述內容。你也可以嘗試不同的內容類型:'返回Response.status(405).entity(「」)。type(MediaType.TEXT_PLAIN).build();' – DannyMo
我使用球衣1.17和tomcat 7.0.12。我嘗試了不同的內容類型和相同的結果。我嘗試了另一種狀態,它正在工作,我得到了我想要的結果。 – junior