¿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?
- Retrofit 2 elimina los caracteres después de hostname de url de base
- ¿Cómo puedo convertir un cuerpo de respuesta exitoso en un tipo específico usando retrofit?
- Retrofit 2 - cuerpo de respuesta nula
- No se puede crear el convertidor para java.util.List Retrofit 2.0.0-beta2
- Excepción Outofmemory utilizando la biblioteca retrofit android
- ¿Debo usar retrofit con un singleton?
- Error al compilar com.squareup.retrofit: converter-simplexml: 2.0.0-beta2
- Cómo obtener JSON de objeto RetrofitError utilizando Retrofit
- No se puede crear el convertidor para la clase com.squareup.okhttp.ResponseBody
- ¿Cómo puedo usar retrofit library con la barra de progreso?
- Fuera de memoria usando Retrofit 2 para descargar un archivo
- Retrofit callback obtener cuerpo de respuesta
- RETROFIT POST Objeto Realm
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 mostrar YouTubePlayerView en un ListView en Android?
- Thread, Asynctask o intentService para mi aplicación?