2011-11-18 29 views
9

如何在Java中將HTTP狀態代碼轉換爲其文本表示形式?我的意思是有這樣的轉換的任何現有的實現。目前爲止我找到的最好的是java.ws.rs.core.Response.Status#fromStatusCode(),它只轉換所有狀態的有限子集。如何將HTTP狀態碼轉換爲Java中的文本?

+0

創建您自己的地圖。例如,您可以從xml中讀取它。 – StKiller

+1

我很確定一致的HTTP服務器必須發送一個狀態碼和一個狀態文本。 – Piskvor

+1

是的,我也認爲我的服務器必須發送代碼和文本,這就是爲什麼我問:) – yegor256

回答

3

Apache HttpComponents中的(老式)枚舉類做到這一點:

http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpStatus.html

你可以調用它getStatusText方法與枚舉實例作爲論據來獲得的狀態代碼的文本表示。

Maven的依賴是:

<dependency> 
    <groupId>commons-httpclient</groupId> 
    <artifactId>commons-httpclient</artifactId> 
    <version>3.1</version> 
</dependency> 
+2

「commons-httpclient」是生命的盡頭(2007年的最後一個版本)。新庫是org.apache.httpcomponents:httpcore和獲取狀態文本的方法是EnglishReasonPhraseCatalog.INSTANCE.getReason(status,null); – uwe

7

如果你感到快樂導入Spring的web,org.springframework.http.HttpStatus.valueOf(int).name()應該做的,如果你不介意的下劃線。

+0

這將返回代碼號作爲字符串,而不是文本表示。 – pablomolnar

+0

@pablomolnar好點,更新 – artbristol

相關問題