Volley Post JsonObjectRequest игнорирует параметры при использовании getHeader и getParams

Я пытаюсь подключить API url = "api address", который принимает два типа заголовков application / json для reponce в json и application / xml для reponce в xml. Мне нужно нажать JSON с параметрами json, и ответ будет также в формате json. Использование андроидального волейбола. Запрос на отправку с заголовками настроек JsonObjectRequest с использованием getHeaders, который он подключается к серверу, но getParams для установки параметров не работает.

RequestQueue queue = Volley.newRequestQueue(this); JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, Constants.BASE_URL + Constants.LOGIN, null, response, response_error) { /** * 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"); return headers; } @Override protected Map<String, String> getPostParams() throws AuthFailureError { // TODO Auto-generated method stub Map<String, String> params = new HashMap<String, String>(); params.put("key", "value"); return params; } }; // implementation of listeners Response.Listener<JSONObject> response = new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d(TAG, response.toString()); Log.e("responce", response.toString()); // msgResponse.setText(response.toString()); hideProgressDialog(); } }; Response.ErrorListener response_error = new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("error responce", error.getMessage()); VolleyLog.d(TAG, "Error: " + error.getMessage()); hideProgressDialog(); } }; //get params never get called //i also tried alternative to send params but does not works. Map<String, String> params = new HashMap<String, String>(); params.put("key", "value"); JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, Constants.BASE_URL + Constants.LOGIN, new JSONObject(params), response, response_error) { /** * 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"); return headers; } }; any type of help will be appretiated, Thanks in advance. 

Solutions Collecting From Web of "Volley Post JsonObjectRequest игнорирует параметры при использовании getHeader и getParams"

Волейбол будет игнорировать параметр Content-Type , если вы хотите изменить тип содержимого, вы можете переопределить метод getBodyContentType :

 JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST, url, new JSONObject(params), response, response_error) { @Override public String getBodyContentType() { return "application/json; charset=utf-8"; } } 

Почему залп игнорирует ваши параметры? Взгляните на мой другой ответ .

Почтовый запрос Volley JsonObjectRequest не работает

Возьмите другой ответ с этого поста, с которого начинается: вы можете создать пользовательский JSONObjectReuqest