Convertidor personalizado para Retrofit 2
Tengo que manejar una respuesta JSON dinámica.
Antes, estaba usando clases y anotaciones de la siguiente manera:
public class ChatResponse {
@SerializedName("status")
private int status;
@SerializedName("error")
private String error;
@SerializedName("response")
private Talk response;
public int getStatus() {
return status;
}
public String getError() {
return error;
}
public Talk getResponse() {
return response;
}
}
Cuando el estado es 1 (éxito) elonResponse
se dispara y puedo obtener un objeto ChatResponse. Pero, cuando el estado es 0, la respuesta es falsa en la representación JSON y falla (onFailure
Está despedido).
Quiero crear mi convertidor personalizado yesta pregunta tiene un buen ejemplo, pero ese ejemplo es para Retrofit 1.
Tengo que crear una clase que se extiendaConverter.Factory
, pero no sé cómo anular los métodos de esta clase.
En realidad tengo el siguiente:
@Override
public Converter<ResponseBody, ?> fromResponseBody(Type type, Annotation[] annotations) {
return super.fromResponseBody(type, annotations);
}
@Override
public Converter<?, RequestBody> toRequestBody(Type type, Annotation[] annotations) {
return super.toRequestBody(type, annotations);
}
¿Cómo puedo analizar la respuesta JSON por mi cuenta en este momento?
Gracias por adelantado.