Я тестирую Retrofit, чтобы сравнить его с Volley, и я изо всех сил пытаюсь получить ответ от моих запросов. Например, я делаю что-то вроде этого:
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("http://localhost:8080")
.build();
MyService service = restAdapter.create(MyService.class);
service.getToto("toto", new Callback<Toto>() {
@Override
public void success(Toto toto, Response response) {
// Try to get response body
BufferedReader reader = null;
StringBuilder sb = new StringBuilder();
try {
reader = new BufferedReader(
new InputStreamReader(response.getBody().in()));
String line;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
String result = sb.toString();
}
@Override
public void failure(RetrofitError error) {}
});
Он работает, объект toto
установлен, но для целей тестирования я также хочу отобразить ответ JSON, возвращенный сервером.
Итак, я пытаюсь прочитать InputStream
из response.getBody()
, который является TypedInputStream
.
К сожалению, я всегда получаю IOException : Stream is closed
.
Я попытался использовать класс Utils из Retrofit, но получаю ту же ошибку IOException
.