I was able to run only the welcome example (GithubService) from the documentation.
The problem is that when I run my code, I get the following error inside onFailure()
Use JsonReader.setLenient (true) to accept invalid JSON in row 1 column 1 path $
My API accepts the value of the POST parameter, so there is no need to encode them as JSON, but it returns the response in JSON.
For the answer, I got the ApiResponse class, which I generated using the tools.
My interface:
public interface ApiService { @POST("/") Call<ApiResponse> request(@Body HashMap<String, String> parameters); }
This is how I use the 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------"); } });
java android post retrofit retrofit2
Cool do
source share