Sto cercando indicazioni per il codice di risposta corretto & messaggio quando si richiede una risorsa che fa parte di un'altra risorsa.Codice/messaggio API REST per risorsa madre mancante
Ad esempio, una richiesta GET on:
utenti/{id}
in cui l'utente non esiste sarebbe tornato un 404, con un messaggio di utente risorsa non trovato.
La mia domanda è, quale dovrebbe essere il seguente ritorno quando nessun utente risorsa viene trovato:
utenti/{id}/amici
Attualmente sto tornando lo stesso codice/messaggio come nel primo esempio . Dovrei restituire un messaggio relativo specificamente alla risorsa amici? Personalmente ritengo sia più utile rendere il client API consapevole del fatto che la risorsa genitore non viene trovata, in caso si abbia una catena di URI più grande.
Sto meditando lo stesso dell'OP e questo mi sembra il modo giusto anche per il mio particolare caso d'uso. Per aggiungere ulteriormente al tuo caso, [Wikipedia] (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) afferma che per un "404" "le richieste successive da parte del cliente sono consentite". Penso che questo sia corretto perché è possibile che a un certo punto un utente con quell'ID inizi a esistere, mentre un '400' implica che la richiesta è stata negativa a causa di un errore del client e non potrebbe mai essere valida in futuro. – djskinner