Abbiamo una funzione nella nostra API REST che potrebbe avere un motivo per essere arrestata temporaneamente o in modo permanente. Diciamo che la risorsa è:
www.myapp.com/api/v1/needs_shutdown
Al momento, /needs_shutdown
è una richiesta GET che restituisce dati. Vogliamo che i dati di restituzione si verifichino solo se il servizio è contrassegnato come active
nella nostra configurazione.
Quindi, come implementiamo la risposta ? La risposta potrebbe essere una delle due cose:
Il servizio è active
, nel senso che ottengono dati che si adattano a un NeedsShutdown
oggetto:
{
here: "is",
some: "data",
}
o il servizio è inactive
, e i dati di risposta si adatterebbero con qualche tipo di oggetto Error
:
{
error: "Service is unavailable",
code: 123456789,
other: "important data"
}
Quindi il client si aspetterebbe un oggetto NeedsShutdown
o un oggetto Error
. In particolare stiamo usando Android (Java) con la libreria Retrofit, se questo fa la differenza nelle possibilità di progettazione.
Come dovremmo progettare questo endpoint REST per avere questo tipo di comportamento facoltativo?