java - 如何使用 Retrofit 2 获取字符串响应?

标签 java android retrofit2

我想了解Retrofit是如何工作的,但是官方文档非常薄弱。

我需要发出一个非常简单的 GET 请求并获取 String 形式的响应。

现在我使用标准的HTTPUrlConnection,它工作得很好,只需请求-响应

谁能告诉我如何获取 String 响应而不将其转换为对象或类似的东西?

最佳答案

您可以将 ScalarsConverterFactory 用于字符串和基元及其装箱类型到文本/纯文本体。 将此依赖项添加到您的 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();  

关于java - 如何使用 Retrofit 2 获取字符串响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42349022/

相关文章:

java - Maven : Package not found when clean install

java - 单击新 Activity 内的微调器时强制关闭。

java - 如果我将 JPanel 和 JFrame 子类化,为什么我的 JFrame 保持为空?

android - 为每个应用程序安装生成唯一的加密 key 或盐

android - 无法使用API​​ 22构建Android应用

android - java.lang.IllegalArgumentException : Illegal URL with retrofit 异常

java - Scala:如何实现包含没有类型参数的 scala "typed"类的 java 接口(interface)

android - 为什么对于某些 recyclerview 项目,textview ellipsize 检查在 recyclerview 滚动期间返回 true,即使它是 false?

android - 如何创建 POJO 类以使用动态键名进行改造

java - 我如何表示对 Java 类的 JSON 响应?