Retrofit2: la Modification du corps de la requête en OkHttp Intercepteur
Je suis en utilisant la Rénovation 2 (2.0.0-beta3) avec OkHttp client dans l'application Android, et jusqu'à présent tout va bien. Mais actuellement, je suis en face d'un problème avec OkHttp Intercepteur. Le serveur, je suis en communication avec est de prendre jeton d'accès dans le corps de la demande, alors quand j'ai intercepter la demande d'ajout d'auth jeton ou dans la méthode d'authentification de l'Authentificateur quand j'ai besoin d'ajouter des mises à jour auth jeton, j'ai besoin de modifier le corps de la requête à cet effet. Mais il semble que je ne peut ajouter des données dans des en-têtes, mais pas dans le corps de continue de la demande. Le code que j'ai écrit jusqu'à présent est la suivante:
client.interceptors().add(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
if (UserPreferences.ACCESS_TOKEN != null) {
//need to add this access token in request body as encoded form field instead of header
request = request.newBuilder()
.header("access_token", UserPreferences.ACCESS_TOKEN))
.method(request.method(), request.body())
.build();
}
Response response = chain.proceed(request);
return response;
}
});
Quelqu'un peut-il m'indiquer la bonne direction, car la façon de modifier le corps de la requête pour ajouter mon jeton d'accès (première fois ou mis à jour après jeton d'actualisation)? Un pointeur à droite direction serait appréciée.
OriginalL'auteur Lala Rukh | 2016-01-14
Vous devez vous connecter pour publier un commentaire.
Je l'utiliser pour ajouter un paramètre post à celles déjà existantes.
OkHttp3:
bodyToString()
avant de retournerce n'est pas nécessaire, le Tampon ne pas attribuer tout ce qui peut être fermé à l'intérieur du constructeur. github.com/square/okio/blob/master/okio/src/main/java/okio/...
OriginalL'auteur Fabian
Puisque ce ne peut pas être écrit dans les commentaires de la précédente réponse par @Fabian, je suis l'affichage de cette un comme réponse distincte. Cette réponse traite à la fois de "application/json" ainsi que les données de formulaire.
OriginalL'auteur Debanjan