Java Can';t在改装中向请求添加标题
我使用改造来进行RESTAPI调用。为了进行身份验证,使用了API密钥,我希望将其包含在标头中。我尝试了两种方法: 在接口方法中添加注释:Java Can';t在改装中向请求添加标题,java,android,rest,http,retrofit,Java,Android,Rest,Http,Retrofit,我使用改造来进行RESTAPI调用。为了进行身份验证,使用了API密钥,我希望将其包含在标头中。我尝试了两种方法: 在接口方法中添加注释: @GET("discover/movie") Call<PopularMovies> getPopularMovies(@Query("release_date.gte") String release_date_gte, @Query("release_dat
@GET("discover/movie")
Call<PopularMovies> getPopularMovies(@Query("release_date.gte") String release_date_gte,
@Query("release_date.lte") String release_date_lte,
@Query("page") int page,
@Header("Authorization") String api_key)
这两种方法都不会向请求添加头。有人能帮我弄清楚吗?
谢谢第一种方法应该有效。我用与第二种方法相同的方法在topI上使用@FormUrlEncoded,它也能工作。你有没有额外的配置?这就是我在第二种方法中构建改造对象的方式,这好吗?改装改装=新建改装.Builder().baseUrl(端点URL).addConverterFactory(GsonConverterFactory.create(gson)).client(httpClient.build();您是如何检查未添加标题的?使用日志拦截器?通过观察网络流量(例如Wireshark)?还是服务器端?
OkHttpClient httpClient = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
@Override
public okhttp3.Response intercept(Chain chain) throws IOException {
Request original = chain.request();
Request request = original.newBuilder()
.addHeader("Authorization", mContext.getResources().getString(R.string.API_KEY))
.build();
return chain.proceed(request);