排球字符串请求未在Android中给出响应 [英] Volley String Request does'nt give Response in android

查看:60
本文介绍了排球字符串请求未在Android中给出响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将Volley String请求用于Post方法..但它没有给出正确的响应..当我使用JsonObject请求时,它将给我正确的响应..我很困惑,我不明白字符串有什么问题请求..请任何人都可以帮助我进行字符串请求... 这是我的代码.

I used Volley String request for Post method..but its not giving correct response..When i used JsonObject request then it will give me correct response..I am so confused ,i don't understand what is problem with string request..Please anyone can help me with string request... this is my code..

      StringRequest requestQueue =Volley.newRequestQueue(MainActivity.this);
      String URL ="http://demoangularaims.azurewebsites.net/api/v1/API_NI_ACD_FILL_COMMON_DDL_SP";

      Log.d(TAG, " url=" + URL);
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        Log.d(TAG, " response=" + response);
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.d(TAG, " error=" + error);

    }
}) {
    @Override
    protected Map<String, String> getParams() throws AuthFailureError {

        LinkedHashMap<String, String> linkmap = new LinkedHashMap<>();
        linkmap.put("p_ENTITY_ID", "2");
        linkmap.put("p_ORGCD", "p01");
        linkmap.put("p_COMPCD", "A0002");
        linkmap.put("p_DIVCD", "");
        linkmap.put("p_USERID", "");
        linkmap.put("p_ACDYR", "");
        linkmap.put("p_TYPE", "ACDYR_DDL");
        linkmap.put("p_FILTER1", "");
        linkmap.put("p_FILTER2", "");
        linkmap.put("p_DEFUNCT", "");

        Log.d(TAG, " MAP=" + linkmap);
        return linkmap;
    }

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        LinkedHashMap<String, String> headers = new LinkedHashMap<>();
        return headers;
    }


};

 requestQueue.add(stringRequest);

}


    PostMan OutPut-

推荐答案

使用getBody代替getParams可以正常工作.由于您使用的是POST方法,因此应添加Request正文.

Use getBody instead of getParams it will work. Since you are using POST method you should add Request body.

       @Override
        public byte[] getBody() throws AuthFailureError {
            try {                    
                return stringRequestBody.getBytes("utf-8"); //String Request Body with Encoded
            } catch (UnsupportedEncodingException uee) {
                return null;
            }
        }

这篇关于排球字符串请求未在Android中给出响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆