错误:从Android调用本地REST服务时出现`com.android.Volley.ServerError`

时间:2017-03-26 16:27:37

标签: android android-volley

我尝试从Android调用本地服务器上的REST服务,但我得到com.android.Volley.ServerError。 在Java WebFrontEnd

上测试时,服务器可以正常工作

Code in Java WebFronEnd service

我有权使用手机访问服务器。而且,http://ipadress:8080/myproject/rest/test可以在移动电话的浏览器上正常运行。

Android功能代码:

public void register ()
{
    String url ="http://ipadress:8080/FaceHub/rest/signup";
    StringRequest stringRequest =new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Toast.makeText(getApplicationContext(),response,Toast.LENGTH_LONG).show();
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getApplicationContext(),error.toString(),Toast.LENGTH_LONG).show();
        }
    })
    {

        @Override
        public String getBodyContentType() {
            return "application/json;charset=utf-8";
        }
        @Override
        protected Map<String, String> getParams()
        {
            Map<String, String>  params = new HashMap<String, String>();
            params.put("name", "testname");
            params.put("email", "testmail");
            params.put("pass", "testpass");
            params.put("phone", "testphone");
            params.put("address", "testaddress");

            return params;
        }
    };
    RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
    requestQueue.add(stringRequest);
}

1 个答案:

答案 0 :(得分:2)

只需在request.setShouldCache(false)之前添加requestQueue.add(stringRequest);

默认情况下,volley会将响应保存在其缓存中,这种行为可能会导致一些奇怪的问题。