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


Retrofit 2 – Órgano de respuesta nulo cuando el estado de respuesta es 422 (entidad no procesable)

Estoy usando Retrofit para hacer una solicitud POST en mi servidor web.

Sin embargo, no puedo obtener el cuerpo de respuesta cuando el estado de respuesta es 422 (unprocessable entity) . El cuerpo de respuesta es siempre null .

  • Android Studio: ¿Cuál es la forma correcta de cambiar targetSdkVersion?
  • ¿Reactivar / recrear programáticamente una actividad?
  • Cómo utilizar viewGroup en android
  • Reproductor de música de lanzamiento de Android con intención
  • La creación personalizada de diseño de teclado Android
  • Cómo tomar fotografías en Android desde la aplicación Delphi Firemonkey XE5
  • Quiero saber si estoy haciendo algo mal o si hay una solución para esto. Porque estoy usando el mismo json en la solicitud con Postman , y devuelve el cuerpo normalmente.

    Este es el método:

     @Headers("Content-Type: application/vnd.api+json") @POST("my_endpoint") Call<JsonObject> postEntry(@Header("Authorization") String authorization, @Body JsonObject json); 

    El cuerpo es un JsonObject, no estoy serializando como dice la documentación. Pero no creo que este sea el problema.

    Cualquier ayuda es apreciada, gracias.

  • SetHomeButtonEnabled no funciona, pero setDisplayHomeAsUpEnabled está funcionando
  • Reaccionar Android nativo se bloquea al intentar depurar en Chrome
  • ¿Cómo puedo eliminar el indicador de tabulación seleccionado de TabWidget?
  • Cómo detener la depuración sin cerrar la aplicación en Android Studio 2
  • Obtención de todos los elementos de un ArrayAdapter
  • La actividad se reinicia en Force Close
  • One Solution collect form web for “Retrofit 2 – Órgano de respuesta nulo cuando el estado de respuesta es 422 (entidad no procesable)”

    De forma predeterminada, cuando su servidor está devolviendo un código de error response.body() siempre es null . Lo que está buscando es response.errorBody() . Un enfoque común sería algo como esto:

      @Override public void onResponse(Response<JsonObject> response, Retrofit retrofit) { if (response.isSuccess()) { response.body(); // do something with that } else { response.errorBody(); // do something with that } } 

    Si necesitas algo realmente avanzado echa un vistazo a los Interceptores y cómo usarlos

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