Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Volley Post JsonObjectRequest ignorando los parámetros mientras usa getHeader y getParams

Estoy intentando conectar API url = "api dirección" que acepta dos tipos de encabezado application / json a reponce en json y application / xml a reponce en xml. Necesito golpear JSON con los parámetros de json y la respuesta será en el formato json también. Usando android volley Publicar solicitud con JsonObjectRequest configuración de encabezados utilizando getHeaders se conecta al servidor, pero getParams para establecer los parámetros no funciona.

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. 

  • Cómo interceptar datos POST en una vista web de android
  • Envío de archivos mediante POST con HttpURLConnection
  • Volley - solicitud de http en bloqueo
  • Tipo de contenido de Retrofit de Android como aplicación / x-www-form-urlencoded
  • ¿Cómo enviar la solicitud POST en JSON usando HTTPClient en Android?
  • Enviar cookies con http post android
  • Cargar archivos de MS Word de Android a .Net WCF?
  • ¿Cómo enviar un objeto JSON sobre solicitud con Android?
  • 2 Solutions collect form web for “Volley Post JsonObjectRequest ignorando los parámetros mientras usa getHeader y getParams”

    Volley ignorará su configuración de Content-Type , si desea modificar el tipo de contenido, puede reemplazar el método getBodyContentType :

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

    Por qué volley ignorar sus parámetros? Echar un vistazo a mi otra respuesta .

    Volley JsonObjectRequest Publicar solicitud no funciona

    Tome la otra respuesta de ese puesto que comienza con: Puede crear un JSONObjectReuqest personalizado

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.