L'envoi de JSON corps par le biais d'une requête POST en OKhttp dans Android
J'ai la configuration de OkHttpClient et de succès de l'envoi de la requête GET au serveur. Et aussi, je pourrais en mesure de l'envoi de la requête POST vers le serveur avec vide balise body.
Maintenant, je suis en train d'envoyer la suivante Objet JSON pour le serveur.
{
"title": "Mr.",
"first_name":"Nifras",
"last_name": "",
"email": "[email protected]",
"contact_number": "75832366",
"billing_address": "",
"connected_via":"Application"
}
Pour cela, j'ai essayer d'ajouter le OkHttpClient bibliothèque de classe RequestBody
mais je n'arrive pas à l'envoi de l'objet JSON dans le corps de la requête http POST. De la manière suivante, j'ai essayer de construire le corps et les processus de la requête post.
OkHttpClient client = new OkHttpClient();
RequestBody body = new RequestBody() {
@Override
public MediaType contentType() {
return ApplicationContants.JSON;
}
@Override
public void writeTo(BufferedSink sink) throws IOException {
//This is the place to add json I thought. But How could i do this
}
};
Request request = new Request.Builder()
.url(ApplicationContants.BASE_URL + ApplicationContants.CUSTOMER_URL)
.post(body)
.build();
Qu'est-ce que la façon dont je envoyer l'objet JSON pour le serveur via une requête POST.
Merci d'avance.
Vous pouvez simplement utiliser très populaire de Rénovation de la bibliothèque. En l'utilisant, vous aurez besoin de créer une classe POJO avec des champs représentant les champs JSON et l'envoyer en tant que le Corps de la demande.
OriginalL'auteur nifCody | 2016-11-10
Vous devez vous connecter pour publier un commentaire.
Essayer cette
Ajouter Gradle dépend
compile 'com.squareup.okhttp3:okhttp:3.2.0'
Analyser La Réponse
Heureux, il a aidé 🙂
Merci dude @jeune
J'ai une autre question pour vous .Comment inclure cette rénovation ? @jeune
OriginalL'auteur young
Viens de le faire:
Et il devrait fonctionner correctement 🙂 Si j'ai bien compris la documentation correctement,
sink
est un récipient dans lequel vous pouvez écrire les données que vous voulez afficher. LewriteUtf8
méthode est pratique pour le tournage de laString
en octets, en utilisant le codage UTF-8.OriginalL'auteur Kelevandos