Tôi đang sử dụng Retrofit 2.0b2. Sau khi nhận được phản hồi, tôi đã cố gắng nhận được một InputStream từ phản ứng bằng cách:trang bị thêm 2.0b2: Cách nhận InputStream từ phản hồi?
Response<JsonNode> response = call.execute();
InputStream is = response.raw().body().byteStream();
nhưng ứng dụng giữ ném:
java.lang.IllegalStateException: Cannot read raw response body of a converted body.
at retrofit.OkHttpCall$NoContentResponseBody.source(OkHttpCall.java:184)
at com.squareup.okhttp.ResponseBody.byteStream(ResponseBody.java:43)
at ...
Mặc dù phản ứng lại một cách chính xác. Tôi làm gì sai ở đây ?
rõ ràng vấn đề là bạn đang nhận được phản hồi theo loại 'JsonNode', thay vì cái gì đó không tự động chuyển đổi (vì tự động chuyển đổi đọc từ luồng và không có gì còn lại cho luồng byte) . Thử 'Response'? –
EpicPandaForce
Đã thử, không. Vẫn thất bại cho dù đó là 'JsonNode' hoặc 'Void' hoặc 'Object'. – CatFly