我正在尝试使用 Retrofit 实现 TheMovieDB API,但无法将 api 密钥附加到查询的开头。感觉 TheMovieDB 在这里有过错,因为在查询开始时以非传统方式请求 api 密钥。
当试图拦截请求并添加查询参数时,像这样,它被附加到请求的末尾,这不是我想要的。
private class WebApiAuthenticator implements RequestInterceptor {
@Override
public void intercept(RequestFacade request) {
if (apiKey != null) {
request.addEncodedQueryParam(PARAM_API_KEY, apiKey);
}
}
}
以及服务实现:
@GET("/search/multi&query={query}")
void getSearchResults(@Path("query") String query, Callback<String> callback);
这会产生以下结果:
---> HTTP GET https://api.themoviedb.org/3/search/multi&query=mysearchquery?api_key=thisismyapikey
我想要这个结果:
---> HTTP GET https://api.themoviedb.org/3/search/multi?api_key=thisismyapikey&query=mysearchquery
我该如何将我的查询参数添加到请求的开头?