Я использую 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?