Sto utilizzando Retrofit per chiamare le API. Sto inviando una richiesta di posta all'API, ma nel callback sto ricevendo JSON vuoto come questo {}.Retrofit: invio di richieste POST al server in Android
Di seguito è il codice per RetrofitService
@POST("/com/searchusers.php")
void getUser(@Body JSONObject searchstring, Callback<JSONObject> callBack);
dove searchstring JSON è come questo { "Ricerca": "Nitesh"}. In risposta, dovrei ottenere i dettagli dell'utente "nitesh".
Di seguito si riporta il codice per l'invio di richiesta POST
RetrofitService mRetrofitService = app.getRetrofitService();
mRetrofitService.getUser(user, new Callback<JSONObject>() {
@Override
public void success(JSONObject result, Response arg1) {
System.out.println("success, result: " + result);
}
@Override
public void failure(RetrofitError error) {
System.out.println("failure, error: " + error);
}
});
sto ottenendo questa uscita successo, risultato: {}
risultato atteso è successo, risultato: { "name": "Nitesh " .... resto dei dettagli}
Edit: ho provato ad utilizzare di risposta, invece di JSONObject come questo CallBack<Response>
e poi ho conv ho inserito la prima risposta in String e ho ottenuto il risultato atteso. Ma il problema è relativo a String, voglio la risposta in JSONObject.
Come posso ottenere il risultato esatto utilizzando CallBack<JSONObject>
...?
mRetrofitService.getUser (utente, nuova richiamata() e il successo public void (String risultato, arg1 Response). In entrambi i JSONObject dovrebbe essere stringa o risultato String dovrebbe essere risultato JSONObject. Ho provato il tuo codice e pensano che questa –
ho corretto il codice per usare 'Callback' invece di 'Callback '. –
Come possiamo ottenere una stringa nella versione 2.0 di retrofit ??? – astuter