尝试使用Retrofit访问东西,使用了他们的数据库API,但是我遇到了崩溃,没有任何抛出的异常或错误消息......我是Retrofit的新手,但是我搜索了一些文档,这就是什么我(我正在使用Retrofit 2.0):
String movieToSearch = "fight";
String ENDPOINT = "https://api.themoviedb.org/3";
String API_KEY = "&api_key=------------------------------";
Retrofit adapter = new Retrofit.Builder()
.baseUrl(ENDPOINT)
.addConverterFactory(GsonConverterFactory.create())
.build();
TMDBAPI apiService = adapter.create(TMDBAPI.class);
String query = movieToSearch + API_KEY;
Call<List<Movie>> call = apiService.getMovieList(query);
call.enqueue(new Callback<List<Movie>>() {
@Override
public void onResponse(Response<List<Movie>> response, Retrofit retrofit) {
List<Movie> movieList = (response.body());
}
@Override
public void onFailure(Throwable t) {
}
});
我在这做什么? :/
[编辑]我添加了一个/到结束点,并将界面中的方法更改为:
@GET("search/movie")
Call<List<Movie>> getMovieList( @Query("query") String query);
现在的问题是,响应有body = null,在rawResponse中,它有一条消息说= 响应{protocol = http / 1.1,code = 401,message = Unauthorized,url = https://api.themoviedb.org/3/search/movie?query=fight%26api_key%-----
我必须建立一个客户端吗?
答案 0 :(得分:0)
好的,我可以看到你的问题,搜索应该是这样的:
http://api.themoviedb.org/3/search/movie?api_key=###&query=iron sky
所以,问题是你是如何形成URL的。
答案 1 :(得分:-1)
我想出了我做错了什么,我正在制作的请求的结果,在json中提供了更多的对象......只需创建一个包含所述字段的对象,并使用List。