改造文档说:
"默认情况下,Retrofit只能将HTTP正文反序列化为OkHttp< ResponseBody ...可以添加转换器以支持其他类型"
这意味着我应该能够使用GSON转换器进行api调用 WIHTOUT,并以" ResponseBody"的形式得到我的回复。对象
但我仍然收到错误
java.lang.IllegalArgumentException: Unable to create converter for class com.squareup.okhttp.ResponseBody
这是我的代码
@GET("v1/search")
Call<ResponseBody> getArtists(@Query("q") String name, @Query("type") String searchType);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.spotify.com/")
.build();
api = retrofit.create(SpotifyApi.class);
api.getArtists(searchBox.getText().toString(), "artist")
.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
基本上我希望能够以最纯粹/最简单的形式使用Retrofit,并获得基本/原始响应。这不是一个真正的应用程序,它是实验。
答案 0 :(得分:5)
您需要使用OkHttp 3.x中的okhttp3.ResponseBody
(Retrofit所依赖的)。该错误消息表明您正在使用OkHttp 2.x中的类型。