2013-06-22 45 views
6

Tôi đang sử dụng RoboSpice để truy cập một số dịch vụ còn lại mà tôi đã phát triển bằng cách sử dụng thiết bị an toàn. Tôi đang trả về một đối tượng JSON khi mọi thứ đều ổn và trong trường hợp ngoại lệ, tôi trả về một mã lỗi http và một đối tượng JSON mô tả bản chất của ngoại lệ. Tôi có thể lấy đối tượng JSON khi mọi thứ đang hoạt động tốt nhưng tôi chỉ có thể nhận được ngoại lệ và mã lỗi http, nhưng không phải JSON tôi vừa trả lại trong trường hợp ngoại lệ. Tôi đã thử làm như vậy trong iOS và tôi có thể nhận được tất cả mọi thứ trong mọi trường hợp, bất cứ ai biết làm thế nào để làm điều này bằng cách sử dụng RoboSpice ?. Bằng cách tôi đang sử dụng Jackson và Spring. Cảm ơn!Android: Cách lấy đối tượng JSON được trả lại trong trường hợp ngoại lệ khi sử dụng RoboSpice

+1

Điều này có thể giúp bạn: http://stackoverflow.com/questions/14864495/using-robospice-is-there-a-way-to-get-the-http-error-code-out-of-an- ngoại lệ. Xin lưu ý phương thức 'HttpClientErrorException.getResponseBodyAsString()' – rciovati

+0

Bạn nói đúng, rciovati !!! đăng nó như là một câu trả lời !!! cảm ơn! – drginm

Trả lời

6

Hãy xem phương pháp được giải thích trong this thread để chặn trạng thái http cho yêu cầu không thành công.

Xin lưu ý rằng HttpClientErrorException có phương thức getResponseBodyAsString() sẽ giúp bạn đọc phản hồi JSON.

+1

Cảm ơn! Đây là một mẹo hữu ích thực sự! Chỉ cần thêm 2cents của tôi, tôi đang sử dụng Gson trên chuỗi trả về này, để phân tích nó theo cách tương tự như cách Robospice tự động phân tích cú pháp json thành POJO. –