当我进行GET请求进行翻新时,出现错误 400-错误的请求。
请求长度大于1024时抛出此错误。
当请求长度小于1024时,它可以正常工作。我不知道如何解决此问题。
答案 0 :(得分:0)
您可以像在onResponse方法中那样进行操作,请记住400是响应状态而不是错误:
if (response.code() == 400) {
Log.v("Error code 400",response.errorBody().string());
}
您可以使用Gson处理除200-300以外的任何响应代码:
if (response.code() == 400) {
Gson gson = new GsonBuilder().create();
ErrorPojoClass mError=new ErrorPojoClass();
try {
mError= gson.fromJson(response.errorBody().string(),ErrorPojoClass .class);
Toast.makeText(getApplicationContext(), mError.getErrorDescription(),
Toast.LENGTH_LONG).show();
} catch (IOException e) {
// handle failure to read error
}
}
将其添加到build.gradle中:编译'com.google.code.gson:gson:2.7'
如果要创建Pojo类,请转到JSON Schema 2 Pojo并粘贴示例Json响应。选择源类型Json和注释Gson。
答案 1 :(得分:0)
解决方案: 这不是改造的问题。问题出在我正在使用的Api(WCF)内部。在Web配置中,maxQueryStringLength的值设置为1024。使用邮递员发送请求时,我遇到了确切的问题。