我想了解Retrofit的工作原理,但官方文档非常薄弱。
我需要发出一个非常简单的GET
请求,并将回复作为String
。
现在我使用标准HTTPUrlConnection
,它运行良好,只是请求 - 响应
有人能告诉我如何在不将其转换为对象或类似内容的情况下获得String
响应吗?
答案 0 :(得分:5)
您可以将ScalarsConverterFactory用于字符串,将原语及其盒装类型用于text / plain实体。 将此依赖项添加到build.gradle文件中:
compile 'com.squareup.retrofit2:converter-scalars:2.1.0'
试试这个:
public interface ExampleService {
@GET("/users/{user}/repos")
Call<String> listRepos(@Path("user") String user);
}
将ScalarsConverterFactory添加到您的构建器:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(ScalarsConverterFactory.create())
.build();
然后您可以像这样检索此字符串:
Call<String> call = exampleService.listRepos(user);
Response<String> response = call.execute();
String value = response.body();