Notre équipe décide d'adopter Retrofit 2.0 et je fais quelques recherches initiales à ce sujet. Je suis un débutant dans cette bibliothèque.
Je me demande comment utiliser interceptor
pour ajouter des en-têtes personnalisés via Retrofits 2.0 dans notre application Android. Il existe de nombreux didacticiels sur l'utilisation interceptor
pour ajouter des en-têtes dans Retrofit 1.X, mais comme les API ont beaucoup changé dans la dernière version, je ne sais pas comment adapter ces méthodes dans la nouvelle version. De plus, Retrofit n'a pas encore mis à jour sa nouvelle documentation.
Par exemple, dans les codes suivants, comment dois-je implémenter la Interceptor
classe pour ajouter des en-têtes supplémentaires? D'ailleurs, quel est exactement l' objet non documentéChain
? Quand sera-t- intercept()
il appelé?
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();
/
et que vos URL d'API ne le font pas (stuff/post/whatever
)