在 json object paramater Volley post 中发送令牌 header

Send token header in json object paramater Volley post

我正在使用 post 截击方法。我搜索并发现 getHeader() 用于在 request.The 中发送 header 解决方案是使用 JSONObject request 而不是字符串请求(我目前正在使用)但是有没有办法通过这种方法发送 header?因为那样的话我将不得不修改许多类中的大量代码。对不起英语,我不是母语人士。 请求参数是一个jsonobject。我正在使用以下代码发送参数。

mRequestQueue = Volley.newRequestQueue(getContext());
    mStringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.d("Response", "onResponse: " + response);

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.i("This is the error", "Error :" + error.toString());
        }
    })
{
            @Override
            public String getBodyContentType() {
                return "application/json";
            }

            @Override
            public byte[] getBody()  throws AuthFailureError {
                HashMap<String, String> params2 = new HashMap<String, String>();
                params2.put("AssigneeId",userid);
                params2.put("IssueStatus", "5");
                return new JSONObject(params2).toString().getBytes();
            }
 };
        mRequestQueue.add(mStringRequest);

这个请求还有StringRequest。请以这种方式使用 getHeaders():

 public void requestWithSomeHttpHeaders() {
        RequestQueue queue = Volley.newRequestQueue(this);
        String url = "http://www.somewebsite.com";
        StringRequest getRequest = new StringRequest(Request.Method.GET, url, 
            new Response.Listener<String>() 
            {
                @Override
                public void onResponse(String response) {
                    // response
                    Log.d("Response", response);
                }
            }, 
            new Response.ErrorListener() 
            {
                @Override
                public void onErrorResponse(VolleyError error) {
                    // TODO Auto-generated method stub
                    Log.d("ERROR","error => "+error.toString());
                }
            }
        ) {     
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError { 
                    Map<String, String>  params = new HashMap<String, String>();  
                    params.put("User-Agent", "Nintendo Gameboy");  
                    params.put("Accept-Language", "fr");

                    return params;  
            }
        };
        queue.add(getRequest);

    }

对于JsonObjectRequest:

JsonObjectRequest req = new JsonObjectRequest(Request.Method.GET,url,
                null, new Response.Listener<JSONObject>() {

            @Override
            public void onResponse(JSONObject response) {
                Log.d(tag, response.toString());
                activity.hideDialog();
                try {
                    activity.onRequestServed(response, code);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(tag, "Error: " + error.getMessage());
                Log.e(tag, "Site Info Error: " + error.getMessage());
                Toast.makeText(activity.getApplicationContext(),
                        error.getMessage(), Toast.LENGTH_SHORT).show();
                activity.hideDialog();
                try {
                    activity.onRequestServed(null,code);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }) {

            /**
             * Passing some request headers
             */
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                HashMap<String, String> headers = new HashMap<String, String>();
                //headers.put("Content-Type", "application/json");
                headers.put("key", "Value");
                return headers;
            }
        };