Devo gestire una risposta JSON dinamica.Convertitore personalizzato per Retrofit 2
Prima, usavo le classi e le annotazioni come segue:
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;
}
}
Quando lo stato è 1 (successo) la onResponse
viene licenziato e posso ottenere un oggetto ChatResponse. Tuttavia, quando lo stato è 0, la risposta è falsa nella rappresentazione JSON e non riesce (onFailure
viene attivato).
voglio creare il mio convertitore personalizzato e this question ha un buon esempio, ma questo esempio è per retrofit 1.
I have to creare una classe che estende Converter.Factory
, ma non so come ignorare i metodi di questa classe.
realtà ho il prossimo:
@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);
}
Come posso analizzare la risposta JSON dalla mia, a questo punto?
Grazie in anticipo.
questo aggiungerebbe una fabbrica convertitore statico per lo stesso tipo di risposta. Cosa succede se desidero rendere l'analisi di diversi oggetti di risposta facoltativi? Potrei avere risposte varie per vari apis con oggetti optionsl e fixed response. –