使用TMDB API的Android电影App点击按钮崩溃,Retrofit报@GET参数缺失错误
问题原因
错误日志明确提示Missing either @GET URL or @Url parameter,核心问题出在MovieApi接口的配置上:
@GET注解没有填写具体的接口路径,Retrofit无法拼接完整的请求地址- TMDB官方要求的密钥参数名是
api_key,你写的key不符合接口要求,后续请求也会报错
解决方案
修改MovieApi接口的代码如下:
public interface MovieApi { // 搜索接口,补充TMDB搜索电影的路径 @GET("search/movie") Call<MovieSearchResponse> searchMovie( // 修正参数名为TMDB要求的api_key @Query("api_key") String key, @Query("query") String query, @Query("page") String page ); }
额外校验项
- 确认
Credentials.BASE_URL的取值为https://api.themoviedb.org/3/,末尾必须带斜杠,否则路径拼接会出错 - 确认AndroidManifest.xml中已经添加了网络权限:
<uses-permission android:name="android.permission.INTERNET" />
修改完成后重新运行即可正常请求接口打印电影标题。
内容的提问来源于stack exchange,提问作者Yagami AMV
相关产品推荐
相关产品推荐

