针对Volley Android中的POST请求的意外响应代码500

时间:2015-12-18 13:00:13

标签: android android-volley

我正在使用Volley向http://api.weddingonclick.com/vendor/auths/

发出POST请求

当我使用POSTMAN时,响应很顺利

{
  "msg": "OTP sent"
}

但是当我使用Volley发送请求时,我得到了ServerError 我以前使用相同的代码,它工作正常。突然间它开始给我这个错误。

我的代码:

StringRequest firstTimeStringRequest = new StringRequest(StringRequest.Method.POST,
            "http://api.weddingonclick.com/vendor/auths/", new Response.Listener<String>() {
        @Override
        public void onResponse(String responseString) {
            Snackbar.make(sendButton, responseString, Snackbar.LENGTH_LONG).show();
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Snackbar.make(sendButton, error.toString(), Snackbar.LENGTH_LONG).show();
        }
    }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String>  params = new HashMap<>();
            params.put("mobile", "1234567890");
            params.put("action", "sign_in");
            params.put("a_session", ""+41);
            params.put("a_source", "VENDOR_APP");
            return params;
        }

    };
    firstTimeStringRequest.setRetryPolicy(new DefaultRetryPolicy(0, -1, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    Volley.newRequestQueue(this).add(firstTimeStringRequest);

为了进行调试,我创建了一个requestbin并从POSTMAN和我的应用程序发送了请求。我似乎无法找到差异。

编辑:我错误地向requestbin发送了更多请求。请仅考虑底部的第一和第二个请求

这是requestbin http://requestb.in/13j4apk1?inspect

请帮助

1 个答案:

答案 0 :(得分:0)

有时情况:

这不是你的库问题,浏览器通常忽略标题中的错误500并显示内容,但是凌空剂量不这样做并调用onErrorResponse。我认为这是服务器端应用程序问题,但您可以在onErrorResponse中获取响应。为了说服自己,你可以添加RESTClient mozilla add并发送你的截击请求并查看响应。在标题中,它显示错误500内部服务器错误,但您可以在正文部分中看到响应