我在我的Android应用程序中使用了volley库中的restful API,正如我在restful API中所知,我们应该在特殊情况下实现STATUS CODES,但是当我检查此路径中的凌空代码时: volley\toolbox\BasicNetwork.java
我看到凌空只接受200到299之间的状态代码。
if (statusCode < 200 || statusCode > 299) {
throw new IOException();
}
为什么呢? 这是否意味着凌空不支持RESTFUL架构?
答案 0 :(得分:0)
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();
}
}
}
您可以在此处详细了解此信息。 Android Volley - BasicNetwork.performRequest: Unexpected response code 400
答案 1 :(得分:0)
如果服务器STATUS_CODE
介于200 - 299之间,那么这是一个相当成功的状态,Volley
将触发onResponse
回调。
代码:
if (statusCode < 200 || statusCode > 299) {
throw new IOException();
}
只是意味着:当状态代码不在200 - 299之间因此这是一个错误,而Volley将触发onErrorResponse
回调。