LoopJ AndroidAsyncHttp возвращает код 415 при указании RequestParams

Я использую LoopJ AndroidAsyncHttp для публикации асинхронных вызовов Http из моего приложения для Android. Когда я указываю некоторые параметры RequestParams, вызов продолжает давать сбой с кодом состояния 415 (неподдерживаемый тип носителя). Как только я удаляю requestParams, вызов проходит без ошибок.

final AsyncHttpClient client;
String url = "http://someURL.com/SomeUserGUID/Profile/Statistics/Setup";
client = new AsyncHttpClient();

final RequestParams params = new RequestParams();
params.put("FirstClub", "false");
params.put("FairwayHit", "false");

Header[] headers = {
    new BasicHeader("Accept-Language", Locale.getDefault().toString())
    ,new BasicHeader("Authorization", ApplicationObject.companyBasicAuthString)
    ,new BasicHeader("Accept", "application/json")
};

client.setTimeout(60000);

client.post( ProfileActivity.this,url, headers, params, "application/json", new     AsyncHttpResponseHandler() {

@Override
public void onStart() {
    //Do something before start
    super.onStart();
}

@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
    //some code
}

@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
    //some code
}
});

Моя цель состоит в том, чтобы URL-адрес выглядел так: String url = http://someURL.com/SomeUserGUID/Profile/Statistics/Setup?FirstClub=false& FairwayHit=false

Я бы предпочел не жестко кодировать URL-адрес в одну строку (этот метод работает, кстати), потому что у меня есть некоторые вызовы, которые создают действительно длинную строку URL-адреса.

Итак, как я могу добиться успешного почтового вызова с параметрами, используя AndroidAsyncHttp?


person user2408952    schedule 19.11.2014    source источник


Ответы (1)


415 Неподдерживаемый тип носителя

Сервер отказывается обслуживать запрос, поскольку объект запроса имеет формат, не поддерживаемый запрошенным ресурсом для запрошенного метода.

Вы отправляете заголовок Content-Type (в своем почтовом вызове) как application/json, но добавленные вами параметры не являются JSON. Вероятно, поэтому возникает ошибка.

person JstnPwll    schedule 19.11.2014