2011-11-18 45 views
9

Làm cách nào để chuyển đổi mã trạng thái HTTP thành biểu diễn văn bản của nó, trong Java? Tôi có nghĩa là có bất kỳ hiện thực hiện có của chuyển đổi như vậy. Điều tốt nhất tôi đã tìm thấy cho đến nay là java.ws.rs.core.Response.Status#fromStatusCode(), chỉ chuyển đổi một tập con giới hạn của tất cả các trạng thái.Làm thế nào để chuyển đổi mã trạng thái HTTP thành văn bản trong Java?

+0

Tạo bản đồ của riêng bạn . Bạn có thể đọc nó từ một xml, ví dụ. – StKiller

+1

Tôi khá chắc chắn rằng máy chủ HTTP tuân thủ PHẢI gửi mã trạng thái VÀ văn bản trạng thái. – Piskvor

+1

Có, tôi cũng nghĩ rằng máy chủ của tôi phải gửi mã và văn bản, đó là lý do tại sao tôi hỏi :) – yegor256

Trả lời

3

Apache HttpComponents có (kiểu cũ) lớp enum mà thực hiện điều này:

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

Bạn có thể gọi phương thức getStatusText của nó với một thể hiện enum như là đối số để có được những đại diện văn bản của một mã trạng thái.

Maven phụ thuộc là:

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

"commons-httpclient" đã hết hạn (bản phát hành cuối 2007). Thư viện mới là org.apache.httpcomponents: httpcore và phương thức lấy văn bản trạng thái là EnglishReasonPhraseCatalog.INSTANCE.getReason (trạng thái, null); – uwe

7

Nếu bạn hài lòng nhập web Spring, org.springframework.http.HttpStatus.valueOf(int).name() nên làm, nếu bạn không nhớ dấu gạch dưới.

+0

Điều này trả về mã số dưới dạng chuỗi, chứ không phải biểu diễn văn bản. – pablomolnar

+0

@pablomolnar vị trí tốt, được cập nhật – artbristol

Các vấn đề liên quan