Java Android截击:支持的状态码问题
我在android应用程序库中使用了restful API,正如我所知,在restful API中,我们应该在特殊情况下实现,但当我检查以下路径中的截取代码时:Java Android截击:支持的状态码问题,java,android,rest,android-volley,Java,Android,Rest,Android Volley,我在android应用程序库中使用了restful API,正如我所知,在restful API中,我们应该在特殊情况下实现,但当我检查以下路径中的截取代码时:volley\toolbox\BasicNetwork.java我看到截取只接受200到299之间的状态代码 if (statusCode < 200 || statusCode > 299) { throw new IOException(); } if(状态码299){ 抛出新IOException(); }
volley\toolbox\BasicNetwork.java
我看到截取只接受200到299之间的状态代码
if (statusCode < 200 || statusCode > 299) {
throw new IOException();
}
if(状态码<200 | |状态码>299){
抛出新IOException();
}
为什么??
这是否意味着volley不支持RESTFUL体系结构?VolleyError有一个类型为NetworkResponse的公共变量。您可以访问error.networkResponse.statusCode来实现http错误代码
public void onErrorResponse(VolleyError error) {
NetworkResponse response = error.networkResponse;
if (error instanceof ServerError && response != null) {
try {
// Deserialize data using what you want
JSONObject obj = new JSONObject(res);
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
} catch (JSONException e2) {
e2.printStackTrace();
}
}
}
你可以在这里了解更多 如果服务器
STATUS\u code
处于200-299之间,则相当成功,并且Volley
将触发onResponse
回调
守则:
if (statusCode < 200 || statusCode > 299) {
throw new IOException();
}
if(状态码<200 | |状态码>299){
抛出新IOException();
}
只是简单地说:当状态码不在200-299之间时,这是一个错误,截击将触发
onErrorResponse
回调。你是什么意思?Volley实现了其他类型的代码,如300、400、500等等。我不这么认为,因为当我从服务器发送400状态代码时,我得到了这个异常BasicNetwork.performRequest:意外响应代码400我认为您必须使用VolleyError类。我会把它放在answervolleyError方法中的回调函数为null!