【发布时间】:2016-01-02 23:35:17
【问题描述】:
我们的团队决定采用 Retrofit 2.0,我正在对其进行一些初步研究。我是这个库的新手。
我想知道如何使用interceptor 在我们的Android 应用程序中通过Retrofits 2.0 添加自定义标题。有很多 tutorials 关于在 Retrofit 1.X 中使用 interceptor 添加标头,但由于 API 在最新版本中发生了很大变化,我不确定如何在新版本中调整这些方法。此外,Retrofit 尚未更新其新文档。
例如,在下面的代码中,我应该如何实现Interceptor 类来添加额外的标题?此外,undocumented Chain object 到底是什么?什么时候会调用intercept()?
OkHttpClient client = new OkHttpClient();
client.interceptors().add(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Response response = chain.proceed(chain.request());
// How to add extra headers?
return response;
}
});
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_API_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
【问题讨论】:
-
确保您的 BASE_API_URL 以
/结尾,并且您的 API 网址不 (stuff/post/whatever)