Lassen Sie uns sagen, ich habe eine REST API, die ich Liste von Büchern erhalten könnte, indem Sie folgende Nachrüstung 2 Anfrage aufrufen.richtiger Weg, um dynamische Antworten durch Nachrüstung zu behandeln 2
public interface AllRecordsFromRequestInterface {
@GET("books/all")
Call<List<TrackInfo>> operation(@Header("Authorization") String authentication_token);
}
und API-Antwort:
[
{
"id": "1",
"title": "The Catcher in the Rye",
"author":"J. D. Salinger"
},
{
"id": "2",
"title": "The Great Gatsby",
"author":"F. Scott Fitzgerald"
}
]
Ich benutze GsonConverterFactory
json zu einem Modell zu konvertieren. Hier ist meine Modellklasse
Ich benutze ein Authentifizierungstoken, um mich selbst zu API zu autorisieren, wie es in meiner Anfrage zu sehen ist. manchmal wird eine andere Antwort empfangen als eine Antwort wegen Token-Ablauf oder etwas anderem. zum Beispiel:
{
"status": "error",
"message": "Expired token"
}
Was ist der richtige Weg, um dynamische Reaktionen (mit bekannter Struktur) in Retrofit 2 zu behandeln?
Wenn Ihr Token abgelaufen ist, sollte die API Ihnen einen Fehlercode 401 zurückgeben. Und Sie können von dort gehen. Wenn es 200 und einige Fehler Payload zurückgibt, dann ist es falsch api entworfen. –