当前位置: 首页 > 知识库问答 >
问题:

如何从retrofit2获得字符串响应?

宇文俊风
2023-03-14
java.lang.IllegalArgumentException: Unable to create converter for class java.lang.String
public interface WebService {
    @GET("/projects")
    Call<String> jquery();
}
    Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("https://jquery.org")
       // .addConverterFactory(GsonConverterFactory.create())
        .build();

    WebService service = retrofit.create(WebService.class);
    Call<String> signin = service.jquery();

    Toast.makeText(this, signin.toString(), Toast.LENGTH_LONG).show();

如果我尝试实现一个自定义转换器(我在网上找到了一些例子),它会抱怨我没有实现抽象方法convert(F),而这些例子都没有实现。

谢了。

共有1个答案

简嘉赐
2023-03-14

将Retrofit2和ScalarsConverterFactory添加到您的Retrofit.Builder中。

adapterBuilder = new Retrofit.Builder()
               .addConverterFactory(ScalarsConverterFactory.create())
               .addConverterFactory(GsonConverterFactory.create());

若要使用ScalarsCoverter,请向构建梯度添加以下依赖项

implementation 'com.squareup.retrofit2:converter-scalars:2.9.0' 
implementation 'com.squareup.retrofit2:retrofit:2.9.0' //Adding Retrofit2

For API Call use: 
    Call <String> *****

Android代码

.enqueue(new Callback<String>() {
    @Override
    public void onResponse(Call<String> call, Response<String> response) {
        Log.i("Response", response.body().toString());
        //Toast.makeText()
        if (response.isSuccessful()){
            if (response.body() != null){
                Log.i("onSuccess", response.body().toString());
            }else{
                Log.i("onEmptyResponse", "Returned empty response");//Toast.makeText(getContext(),"Nothing returned",Toast.LENGTH_LONG).show();
            }
        }
 类似资料:
  • 问题内容: 我正在使用Retrofit1旧样式 现在,我不想获取“ User”类,但是我想要获取String响应。 以前我们使用的是“ Response”,但是在改造2中没有“ Response”, 我如何在不使用任何json解析的情况下从服务器获取字符串响应或全身响应? 问题答案: 建立这个课程 与它一起使用 编辑: 您必须将其定义为 retrofit2不支持回调,因此您必须删除它。要使其异步,

  • 我试图获得字符串值返回API成功。我获得了成功,但我没有在响应中获得所需的值,但当我导航到响应->Body->responseBody时,它会显示该值,但我无法获得该值(请查看屏幕截图以获得详细信息)。

  • 我正在对这个Google Books API URL做出响应 我有一个改装要求:' 和book.java 请求工作正确,我的意思是连接没有错误,并且改型返回的是响应,而不是失败。但我的字符串“title”为空。我怎么才能得到这个。请通过上面的链接检查JSON响应。 更新: 改装呼叫: BookCallback侦听器是我的主要活动:当我检查日志时,有 “成功”“标题%1为空”

  • 我正在尝试对GsonConverterFactory使用Retrofit2,问题是这是我从okhttp: 因此,我得到以下例外: java.lang.IllegalStateException:应为BEGIN_OBJECT,但在第1行第2列为字符串 如何删除特殊字符和回车与改装2?

  • 我在使用Spring RestTemplate时遇到了问题。 现在,我向一个restful服务发送一个PUT请求,该restful服务向我发回重要的信息作为响应。 问题(就像我前面说的)是上面的try/catch没有返回任何响应,但它给了我一个200的响应。 所以现在我问,会有什么问题?

  • 我有两根绳子 在两种情况下,我应该删除