2013-07-26 9 views
26

Ho una risorsa con uri /api/books/122, se questa risorsa non esiste nel punto in cui un client invia HTTP Delete per questa risorsa, qual è il codice di risposta appropriato da questa azione? È 404 non trovato?
GrazieQual è il codice di risposta HTTP per l'operazione di eliminazione HTTP fallita?

+0

Forse scegli quello appropriato da qui? http://www.w3.org/Protocols/HTTP/HTRESP.html –

+6

Ho trovato questo diagramma di flusso per essere illuminante: http://i.stack.imgur.com/whhD1.png – huwr

+0

@huwr Esiste una fonte modificabile per questo da qualche parte? Inoltre - Ho sbagliato a pensare che ci sia un errore in fondo al centro? = Sì -> = Sì -> 204 Nessun contenuto (??) Sembra che i percorsi Sì/No siano scambiati lì? – unomi

risposta

21

Sì, sarebbe 404.

In generale si tratterà di un errore di serie 400 se la richiesta è sbagliato in qualche modo, e un errore serie 500 se qualcosa va storto sul server.

28

Il codice di risposta per una chiamata di eliminazione può essere uno dei seguenti:

  • DELETE /api/book/122 - Il server ha elaborato la richiesta, ma non restituisce alcun contenuto
    • 204 No Content
  • DELETE /api/book/122 - La risorsa non esiste
    • 404 Not Found
  • DELETE /api/book/122 - Risorsa già cancellato
    • 410 Gone
  • DELETE /api/book/122 - Gli utenti non hanno il permesso
    • 403 Forbidden

Nel vostro caso 404 è adatto.

+0

Puoi condividere i riferimenti per questo? – maikel

+0

Circa un 'URI' per' Delete' o 'Update' e assumendo lo scenario in cui la risorsa non esiste più, penso che dovrebbe essere' 410' (* Gone *). Ma considera lo scenario se la risorsa non è mai esistita dall'inizio o in precedenza, ha più senso il '404'. –

Problemi correlati