Je n'ai pu exécuter que l'exemple hello world (GithubService) à partir des docs.Comment faire une requête POST avec Retrofit 2?
Le problème est quand je lance mon code, je reçois l'erreur suivante, à l'intérieur de onFailure()
Utilisez JsonReader.setLenient (true) pour accepter malformé JSON à la ligne 1 colonne 1 chemin $
Mon API prend la valeur POST params, donc pas besoin de les coder en JSON, mais il renvoie la réponse dans JSON.
Pour la réponse, j'ai obtenu la classe ApiResponse que j'ai générée en utilisant des outils.
Mon interface:
public interface ApiService {
@POST("/")
Call<ApiResponse> request(@Body HashMap<String, String> parameters);
}
Voici comment j'utiliser le service:
HashMap<String, String> parameters = new HashMap<>();
parameters.put("api_key", "xxxxxxxxx");
parameters.put("app_id", "xxxxxxxxxxx");
Call<ApiResponse> call = client.request(parameters);
call.enqueue(new Callback<ApiResponse>() {
@Override
public void onResponse(Response<ApiResponse> response) {
Log.d(LOG_TAG, "message = " + response.message());
if(response.isSuccess()){
Log.d(LOG_TAG, "-----isSuccess----");
}else{
Log.d(LOG_TAG, "-----isFalse-----");
}
}
@Override
public void onFailure(Throwable t) {
Log.d(LOG_TAG, "----onFailure------");
Log.e(LOG_TAG, t.getMessage());
Log.d(LOG_TAG, "----onFailure------");
}
});
Postez le plein stacktrace, mais le problème est probable que la réponse est malformé. utilisez-les – njzk2