我正在测试 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()
which is a中读取TypedInputStream
。不幸的是,我总是得到一个IOException : Stream is closed
.
我尝试使用 Retrofit 中的Utils类,但我得到了同样的IOException
错误。