改造得到字符串响应
Retrofit get String response
是否可以使用 Retrofit 库仅接收字符串响应?我有一种情况需要在我的 link 上添加查询,以便 link 看起来像:
localhost//注册?handle=SomeID
SomeID 是整数,当我这样做时,我将从服务器收到由 20 个字符组成的字符串格式的响应。我怎样才能得到那个回应? Retrofit 甚至可以处理非 Json 格式的响应吗?
还有我应该如何创建这个:
@GET("/api/UserMainInformations")
调用 getUserMainInfo();
这是来自其他调用的示例,但现在我没有任何模型可以发送它,因为我只将它添加到查询中。我应该在 Call<> 中输入什么;
您可以从 api 获取响应并将其转换为这样的字符串:
public interface RetrofitService{
@GET("/users")
Call<ResponseBody> listRepos();//function to call api
}
RetrofitService service = retrofit.create(RetrofitService.class);
Call<ResponseBody> result = service.listRepos(username);
result.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Response<ResponseBody> response) {
try {
System.out.println(response.body().string());//convert reponse to string
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable t) {
e.printStackTrace();
}
});
试试这个:
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();
它对我有用。我使用 retrofit:2.1.0.
是否可以使用 Retrofit 库仅接收字符串响应?我有一种情况需要在我的 link 上添加查询,以便 link 看起来像: localhost//注册?handle=SomeID
SomeID 是整数,当我这样做时,我将从服务器收到由 20 个字符组成的字符串格式的响应。我怎样才能得到那个回应? Retrofit 甚至可以处理非 Json 格式的响应吗?
还有我应该如何创建这个:
@GET("/api/UserMainInformations") 调用 getUserMainInfo();
这是来自其他调用的示例,但现在我没有任何模型可以发送它,因为我只将它添加到查询中。我应该在 Call<> 中输入什么;
您可以从 api 获取响应并将其转换为这样的字符串:
public interface RetrofitService{
@GET("/users")
Call<ResponseBody> listRepos();//function to call api
}
RetrofitService service = retrofit.create(RetrofitService.class);
Call<ResponseBody> result = service.listRepos(username);
result.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Response<ResponseBody> response) {
try {
System.out.println(response.body().string());//convert reponse to string
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable t) {
e.printStackTrace();
}
});
试试这个:
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();
它对我有用。我使用 retrofit:2.1.0.