2017-04-13 57 views
0

我正在尋找一種方法來使自定義狀態和錯誤代碼超出通常http範圍的錯誤代碼。事情是這樣的:在java rest api上返回自定義狀態和代碼

return javax.ws.rs.core.Response.status(8001).entity("Error replacing document").build(); 

我得到:java.lang.IllegalArgumentException異常:非法狀態值:8001個

如何做到這一點的任何指針?在Response.status()

回答

0

允許狀態代碼是100..599

public ResponseBuilder status(int s) { 
    if (s < 100 || s > 599) { 
     throw new IllegalArgumentException("Illegal status value : " + s); 
    } 
    ... 

定義的狀態碼的HTTP中的列表:https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html。每個狀態代碼都有其含義和用途。

我想這是Can we create custom HTTP Status codes?

+0

在Tomcat中重複,任何錯誤的代碼工作。運行在karaf容器中的apache cxf正面臨着這個問題! –

+0

@SathishKumar問題在於,'100..599'之外的代碼不在HTTP規範中,許多人認爲它們是非法的,這是違背良好做法的。 – radoh

相關問題