Android排球显示意外的响应代码500

时间:2018-03-02 12:24:22

标签: android android-studio android-volley

我使用方法POST和Volley库。一切正常,但没有显示吐司“成功”。
下面是我用服务器成功更新内容的代码。

String uri = "http://192.168.0.103:3000/api/SampleParticipant";
StringRequest request = new StringRequest(Request.Method.POST, uri,
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {

                            Toast.makeText(getApplicationContext(), "Successful" , Toast.LENGTH_SHORT).show();
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            Toast.makeText(getApplicationContext(), "Error: " + error, Toast.LENGTH_SHORT).show();
                        }
                    })
            {//Body
                @Override
                protected Map<String, String> getParams() {
                    Map<String, String> params = new HashMap<String, String>();
                    params.put("participantId", editText2.getText().toString());
                    params.put("name", editText3.getText().toString());
                    return params;
                }
            };
            // Create Volley
            RequestQueue queue = Volley.newRequestQueue(this);
            queue.add(request);


但是在android studio这样的节目中。

D/Volley: [1124] BasicNetwork.logSlowRequests: HTTP response for request=<[ ] http://192.168.0.103:3000/api/SampleParticipant 0x85adf657 NORMAL 1> [lifetime=5381], [size=704], [rc=500], [retryCount=1]
E/Volley: [1124] BasicNetwork.performRequest: Unexpected response code 500 for http://192.168.0.103:3000/api/SampleParticipant
D/EGL_emulation: eglMakeCurrent: 0xa3f85420: ver 2 0 (tinfo 0xa3f83350)
D/EGL_emulation: eglMakeCurrent: 0xa3f85420: ver 2 0 (tinfo 0xa3f83350)

1 个答案:

答案 0 :(得分:3)

这是来自服务器端的错误,与volley无关

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500

您可以像这样处理500错误

@Override
public void onResponse(Response<YourModel> response) {
    if (response.code() == 200) {
       // Do awesome stuff
    } else if(response.code() == 500){
       Toast.makeText(this, "Error: internal server error", Toast.LENGTH_SHORT).show();
    }
}