如何使用Retrofit 2获取String作为响应?

时间:2017-02-20 15:56:24

标签: java android retrofit2

我想了解Retrofit的工作原理,但官方文档非常薄弱。

我需要发出一个非常简单的GET请求,并将回复作为String

现在我使用标准HTTPUrlConnection,它运行良好,只是请求 - 响应

有人能告诉我如何在不将其转换为对象或类似内容的情况下获得String响应吗?

1 个答案:

答案 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();