我正在使用Retrofit 2.0.0-beta1.
在测试中,我有一个替代方案,并期望错误HTTP 400
我想要retrofit.Response<MyError> response
但是response.body() == null
MyError没有反序列化 - 我只在这里看到它
response.errorBody().string()
Run Code Online (Sandbox Code Playgroud)
但它没有给我MyError作为对象
我正在使用Retrofit-2.0.0我的应用程序.现在我在网上发现的每一个关于Retrofit的教程都是基于早期的Retrofit,那里没有Call<T>接口.这是我第一次使用Retrofit而且我一再得到null object reference.这是我的网络模型界面
public interface TMovieDBService {
@GET("/movie")
Call<MovieResponse> getMovieResponse(@Query("sort_by") String sortKey,
@Query("api_key") String apiKey);
}
Run Code Online (Sandbox Code Playgroud)
这是我updateMovies()更新电影列表的功能.
void updateMovies() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.themoviedb.org/3/discover")
.addConverterFactory(GsonConverterFactory.create())
.build();
String sortKey = "popularity.desc";
TMovieDBService service = retrofit.create(TMovieDBService.class);
Call<MovieResponse> call = service.getMovieResponse(sortKey, ApiKey.API_KEY);
call.enqueue(new Callback<MovieResponse>() {
@Override
public void onResponse(Response<MovieResponse> response) {
Log.d(LOG_TAG, "Reached this place");
if (!response.isSuccess()) {
Log.d(LOG_TAG, "No Success");
}
mMovieList = response.body().getMovies(); // <- response is null here …Run Code Online (Sandbox Code Playgroud)