Phương thức của RestTemplate
chẳng hạn như postForEntity()
ném RestClientException
. Tôi muốn trích xuất mã trạng thái HTTP và nội dung phản hồi từ đối tượng ngoại lệ đó trong khối catch. Làm thế nào tôi có thể làm điều đó?Làm cách nào để truy xuất mã trạng thái HTTP và nội dung phản hồi khi một RestClientException bị ném?
9
A
Trả lời
17
Thay vì bắt RestClientException
, hãy bắt đặc biệt HttpClientErrorException
.
Dưới đây là một ví dụ:
try {
Link dataCenterLink = serviceInstance.getLink("dataCenter");
String dataCenterUrl = dataCenterLink.getHref();
DataCenterResource dataCenter =
restTemplate.getForObject(dataCenterUrl, DataCenterResource.class);
serviceInstance.setDataCenter(dataCenter);
} catch (HttpClientErrorException e) {
HttpStatus status = e.getStatusCode();
if (status != HttpStatus.NOT_FOUND) { throw e; }
}
HttpClientErrorException
cung cấp getStatusCode
và getResponseBodyAsByteArray
để có được mã trạng thái và cơ thể, tương ứng.
Các vấn đề liên quan
- 1. làm cách nào để kiểm tra mã trạng thái phản hồi yêu cầu http từ iOS?
- 2. Mã trạng thái phản hồi web
- 3. Cách nhận trạng thái phản hồi jQuery.ajax?
- 4. Cách nhận mã trạng thái phản hồi từ jQuery.ajax?
- 5. Phản hồi trạng thái HTTP tùy chỉnh với JAX-RS (Jersey) và @RolesAllowed
- 6. Mã trạng thái bị lỗi và phản hồi: cách kiểm tra chống lại nó?
- 7. Giải mã nội dung phản hồi gzip-ed với url-truy xuất
- 8. IIS ghi đè văn bản phản hồi HTTP khi trạng thái phản hồi HTTP được đặt là 400
- 9. Sự khác biệt giữa mã trạng thái phản hồi http 402 và 403
- 10. Vấn đề unicode Node.js với nội dung phản hồi HTTP
- 11. Mã trạng thái HTTP 000 là gì?
- 12. Mã trạng thái HTTP đang được xử lý?
- 13. Làm thế nào để trích xuất nội dung phản hồi HTTP từ một cuộc gọi yêu cầu Python?
- 14. Chụp mã trạng thái http bằng con nhện bị lột
- 15. Làm cách nào để kết thúc phản hồi và gửi lại mã HTTP 404?
- 16. org.mortbay.jetty.EofException bị ném khi viết để phản hồi
- 17. Http Mã trạng thái 400 và 412
- 18. REST: Mã phản hồi HTTP đúng cho một bài đăng bị bỏ qua
- 19. Đặt mã trạng thái HTTP trong Chai?
- 20. Trạng thái phản hồi HTTP "200 lọc" có nghĩa là gì?
- 21. Cách chỉ định Lớp phản hồi và trả lại Mã trạng thái sử dụng Swagger/ServiceStack
- 22. Tiêu đề loại nội dung http phản hồi JSONP
- 23. Viết nội dung phản hồi bằng BaseHTTPRequestHandler
- 24. Trang lỗi trả lại mã trạng thái 200 phản hồi mặc định
- 25. Buộc phản hồi HTTP để trả lại Trạng thái 200 trong Rails
- 26. Ứng dụng HTTP gửi Nội dung dài hoặc Chuyển mã hóa với 204 Không có phản hồi nội dung bị hỏng?
- 27. Mã trạng thái HTTP System.Net.WebException
- 28. Vô hiệu hóa tất cả nội dung phản hồi lỗi HTTP mặc định trong Tomcat
- 29. Phản hồi HTTP 412 - bạn có thể đưa nội dung vào không?
- 30. NGINX Reverse Proxy: Nhiều mã trạng thái html 400 phản hồi, tại sao?
Tôi đã chỉnh sửa câu trả lời của bạn để thêm một số chi tiết hữu ích khác và làm cho câu hỏi/câu trả lời này hữu ích hơn như kinh điển. –
Chỉnh sửa tuyệt vời. Cảm ơn! –
loại chung chung hơn là 'HttpStatusCodeException' được thừa hưởng bởi' HttpClientErrorException' và 'HttpServerErrorException'. –