L'envoi de JSON dans la requête POST avec Retrofit2
Je suis l'aide de Rénovation pour intégrer mes services Web et je ne comprends pas comment faire pour envoyer un objet JSON pour le serveur à l'aide d'une requête POST. Je suis actuellement bloqué, voici mon code:
Activité:-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Retrofit retrofit = new Retrofit.Builder().baseUrl(url).
addConverterFactory(GsonConverterFactory.create()).build();
PostInterface service = retrofit.create(PostInterface.class);
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("email", "[email protected]");
jsonObject.put("password", "1234");
} catch (JSONException e) {
e.printStackTrace();
}
final String result = jsonObject.toString();
}
PostInterface:-
public interface PostInterface {
@POST("User/DoctorLogin")
Call<String> getStringScalar(@Body String body);
}
Demande JSON:-
{
"email":"[email protected]",
"password":"1234"
}
Réponse JSON:-
{
"error": false,
"message": "User Login Successfully",
"doctorid": 42,
"active": true
}
qu'est-ce que les données ?? vous envoyez ....??
je veux envoyer "résultat" du serveur
j'ai changé JSONObject à la Chaîne et que vous voulez envoyer serveur
quel est le problème-vous face ??
À l'aide d'une requête POST comment puis-je envoyer Paramètre de serveur
je veux envoyer "résultat" du serveur
j'ai changé JSONObject à la Chaîne et que vous voulez envoyer serveur
quel est le problème-vous face ??
À l'aide d'une requête POST comment puis-je envoyer Paramètre de serveur
OriginalL'auteur | 2016-11-26
Vous devez vous connecter pour publier un commentaire.
De les utiliser en gradle
EDIT:-
Remarque: Toujours utiliser des classes POJO , il supprimer les données JSON l'analyse de la rénovation .
OriginalL'auteur sushildlh
Cette façon fonctionne pour moi
Mon web service
Ajouter ceci dans votre gradle
Interface
Activité
À l'aide de JSONObject peut échouer en cas , de sorte qu'il est toujours conseillé de créer un Objet personnalisé. Reportez-vous Jake de Wharton commentaire ici github.com/square/retrofit/issues/500
L'appel de
toString()
sur JSONObject va échouer en raison d'un mal de sérialisation, parce qu'il va envoyer au serveur"{\"email\":\"[email protected]\",\"password\":\"12345678\"}"
.OriginalL'auteur Jonathan Nolasco Barrientos
je pense que vous devez maintenant créer un service générateur de classe et après que
vous devez utiliser un Appel à votre service de
alors vous pouvez utiliser cette synchrone de demander et d'obtenir le corps de la réponse:
et asynchrones :
reportez-vous au lien ci-dessous pour un parcours complet et comment créer ServiceGenerator :
https://futurestud.io/tutorials/retrofit-getting-started-and-android-client
OriginalL'auteur SepJaPro2.4