¿Cómo puedo enviar una matriz de objetos en un POST retrofit?

El servidor está esperando algo como esto:

special_array = [{param1 = "string1", param2 = "string2"}, {param1 = "string3", param2 = "string4"}]; 

¿Necesito hacer mi propio convertidor?

Primero crea una interfaz de devolución de llamada como esta y pasa toda la clase Object.

  @POST(URL) public void newObject(@Body YourObject object, Callback<Boolean> success); 

Retrofit utiliza Gson para serializar y deserializar JSON de forma predeterminada. Por ejemplo, si su clase de objeto se ve así:

 public class YourObject { @Expose private String param1; @Expose private String param2; /** * * @return * The param1 */ public String getParam1() { return param1; } /** * * @param param1 * The param1 */ public void setParam1(String param1) { this.param1 = param1; } /** * * @return * The param2 */ public String getParam2() { return param2; } /** * * @param param2 * The param2 */ public void setParam2(String param2) { this.param2 = param2; } } 

Entonces Gson serializaría automáticamente en el siguiente JSON,

 [ { "param1": "string1", "param2": "string2" }, { "param1": "string3", "param2": "string4" } ] 

¡Y ya está todo hecho!

Simplemente tuve que construir un objeto más grande y más complejo que tuviera en cuenta ambos parámetros, algo así:

 ComplexRequestObject complexRequestObject = new ComplexRequestObject(); complexRequestObject.param1 = new SemiComplexObject[]{ new SemiComplexObject("value1", "valued2")}; complexRequestObject.param2 = "value3"; 
  • Cómo establecer dinámicamente encabezados en Retrofit (Android)
  • Retrofit API para recuperar una imagen png
  • ¿Existe una forma de reutilizar el código del constructor para la adaptación
  • Retrofit: agrega un parámetro de lista de cadenas a la solicitud de múltiples partes
  • ¿Está haciendo la llamada de red segura en ArrayAdapter?
  • Javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Ancla de confianza para la ruta de certificación no encontrada
  • ¿Cómo agregar múltiples del mismo parámetro / array usando Retrofit?
  • Cómo manejar una cola para repetir solicitudes después de un fallo de red con retroadaptación
  • Retrofit y caracteres Slash en PATH
  • Uso de Retrofit consiguiendo error onFailure: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: closed
  • Obtener una matriz JSON de retrofit Response
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.