Я делаю приложение для Android, и у меня проблема с выполнением моего запроса на моем собственном сервере. Я сделал сервер с Play Framework и получил параметры из Json:
response.setContentTypeIfNotSet("application/json; charset=utf-8");
JsonParser jsonParser = new JsonParser();
JsonElement jsonElement = jsonParser.parse(getBody(request.body));
Long id =jsonElement.getAsJsonObject().get("id").getAsLong();
Когда я делаю запрос GET на свой сервер, все в порядке. Но когда я делаю запрос POST, мой сервер возвращает мне неизвестную ошибку, что-то о неправильном формате JSON или о том, что он не может найти элемент.
частные параметры ArrayList NameValuePair>;
частные заголовки ArrayList NameValuePair>;
...
случай ПОСТ:
HttpPost postRequest = new HttpPost(host); // Add headers for(NameValuePair h : headers) { postRequest.addHeader(h.getName(), h.getValue()); } if(!params.isEmpty()) { postRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); } executeRequest(postRequest, host); break;
Я пытался сделать с параметрами запроса, но это был сбой:
if(!params.isEmpty()) {
HttpParams HttpParams = new BasicHttpParams();for (NameValuePair param : params) { HttpParams.setParameter(param.getName(), param.getValue()); } postRequest.setParams(HttpParams); }
И есть разные ошибки, в зависимости от запроса, который я делаю. Все они "play.exceptions.JavaExecutionException":
- 'com.google.gson.stream.MalformedJsonException'
- «Это не объект JSON»
- 'Найден ожидающий объект: "id"'
Я хочу, чтобы кто-нибудь мог мне помочь.