Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android截击:支持的状态码问题_Java_Android_Rest_Android Volley - Fatal编程技术网

Java Android截击:支持的状态码问题

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(); }

我在android应用程序库中使用了restful API,正如我所知,在restful API中,我们应该在特殊情况下实现,但当我检查以下路径中的截取代码时:
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!