Một số phương pháp yêu cầu gọi quá tải, chẳng hạn như: get()
và post(Entity<?> entity)
(có những người khác) của SyncInvoker
trở lại một đối tượng Response
, chứ không phải là nội dung unmarshalled.JAX-RS khách hàng: xử lý ResponseProcessingException
tôi nhận thấy rằng trong trường hợp của get()
, không có tài liệu ResponseProcessingException
, trong khi các phương pháp khác, chẳng hạn như tất cả 3 quá tải post
phương pháp, có thể ném một ResponseProcessingException
.
Tôi biết rằng ResponseProcessingException
là một RuntimeException
mà kế thừa từ ProcessingException
, nhưng tôi vẫn sẽ giải thích điều này có nghĩa rằng phương pháp get()
sẽ không ném một ResponseProcessingException
.
Điều này có đúng không? Điều gì về ClientResponseFilter
? Tại sao hành vi khác với hành vi của các phương thức yêu cầu cuộc gọi khác (put
, post
, ..)?
Ngoài ra, Javadoc cho các phương pháp mà làm ném một ResponseProcessingException
nói:
trong trường hợp xử lý của một HTTP response nhận thất bại (ví dụ như trong một bộ lọc hoặc trong quá trình chuyển đổi dữ liệu đối tượng đáp ứng với một ví dụ về một loại Java cụ thể là ).
Phần:
hoặc trong quá trình chuyển đổi dữ liệu đối tượng đáp ứng với một thể hiện của một loại đặc biệt Java
có vẻ là sai ở đây, như là phương pháp readEntity
không nên chưa được gọi là:
https://jersey.java.net/documentation/latest/filters-and-interceptors.html#d0e9915
Đây có phải là bản sao & dán lỗi tài liệu không?
Tôi đoán bộ lọc sẽ là trường hợp hợp lệ.
@BalcusC Đây là một câu hỏi Java, JAX-RS là một phần của Java EE và JAX-RS Khách hàng là một phần của JAVA EE 7. Vui lòng xem các liên kết tới Javadoc. Vui lòng không xóa các thẻ này. – Puce