Ich frage mich, wie ich Interceptor verwenden kann, um benutzerdefinierte Header über Retrofits 2.0 in unserer Android-App hinzuzufügen. Es gibt viele Tutorials zur Verwendung von Interceptor zum Hinzufügen von Headern in Retrofit 1.X, aber da sich die APIs in der neuesten Version stark geändert haben, bin ich mir nicht sicher, wie ich diese Methoden in der neuen Version anpassen soll. Außerdem hat Retrofit seine neue Dokumentation noch nicht aktualisiert.
Wie soll ich beispielsweise in den folgenden Codes die Interceptor-Klasse implementieren, um zusätzliche Header hinzuzufügen? Was genau ist außerdem das undokumentierte Chain-Objekt? Wann wird intercept() aufgerufen?
Code: Select all
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();
Mobile version