以字符串形式获取Retrofit响应

时间:2016-11-21 23:50:09

标签: android json rest retrofit retrofit2

我有一个api,结果如下:

如果没问题:OK ID:1234567

不行:2 <br>(Please Type something)

现在我希望在我的Android应用程序中使用改造来接收这个,我能想到的一种方法是在String中获取响应并手动检查错误或不是错误情况,但我找不到更好的方法这个:

这些问题并没有解释足以复制的解决方案: Q1Q2Q3

2 个答案:

答案 0 :(得分:4)

有两种方法:

  • 开箱即用Retrofit支持使用OkHttp的ResponseBody类型。 ResponseBody基本上是&#34;只是字节&#34;的抽象。并且有一个名为string()的方法,它将身体作为String使用。

  • 您可以添加converters-scalars artifact并将ScalarsConverterFactory添加到您的实例,这样就可以使用String作为您的回复类型。

答案 1 :(得分:0)

这是第一种方式的例子。也许这会对某些人有所帮助。

Api界面:

public interface APIService {
@GET("api/get_info")
    Call<ResponseBody> getInfo();//import okhttp3.ResponseBody;
}

Api电话:

// Retrofit service creation code skipped here
String json = retrofitService().getInfo().execute().body().string();

它对我有用。我使用改造:2.1.0。