我使用LoopJ AndroidAsyncHttp从我的Android应用程序发布异步Http调用。当我指定一些RequestParams时,调用保持失败,并带有statusCode 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
}
});
我的目标是让网址如下所示:String url = http://someURL.com/SomeUserGUID/Profile/Statistics/Setup?FirstClub=false& FairwayHit=false
我首选不要将URL硬编码为一个单独的字符串(此方法适用于btw),因为我有一些调用可以创建一个非常长的URL字符串。
那么如何使用params,使用AndroidAsyncHttp?
来实现成功的后调用答案 0 :(得分:0)
415不支持的媒体类型
服务器拒绝为请求提供服务,因为请求的实体采用的格式不受支持 按所请求方法的请求资源。
您正在发送Content-Type标题(在您的帖子中)作为" application / json",但您添加的参数不是JSON。这可能是错误发生的原因。