Sto progettando un servizio web RESTful usando WebApi e mi chiedevo quali risposte HTTP e corpi di risposta dovessero ritornare durante l'aggiornamento / creazione di oggetti.
Ad esempio, posso utilizzare il metodo POST per inviare alcuni JSON al servizio Web e quindi creare un oggetto. È consigliabile impostare lo stato HTTP su creato (201) o ok (200) e semplicemente restituire un messaggio come "Nuovo impiegato aggiunto" o restituire l'oggetto che è stato originariamente inviato?
Lo stesso vale per il metodo PUT. Quale stato HTTP è il migliore da usare e devo restituire l'oggetto che è stato creato o solo un messaggio? Considerando il fatto che l'utente sa quale oggetto stanno cercando di creare / aggiornare comunque.
Qualche idea?
Esempio:
Aggiungi nuovo impiegato:
POST /api/employee HTTP/1.1
Host: localhost:8000
Content-Type: application/json
{
"Employee": {
"Name" : "Joe Bloggs",
"Department" : "Finance"
}
}
Aggiorna dipendente esistente:
PUT /api/employee HTTP/1.1
Host: localhost:8000
Content-Type: application/json
{
"Employee": {
"Id" : 1
"Name" : "Joe Bloggs",
"Department" : "IT"
}
}
Risposte:
Risposta con oggetto creato / aggiornato
HTTP/1.1 201 Created
Content-Length: 39
Content-Type: application/json; charset=utf-8
Date: Mon, 28 Mar 2016 14:32:39 GMT
{
"Employee": {
"Id" : 1
"Name" : "Joe Bloggs",
"Department" : "IT"
}
}
Risposta con solo messaggio:
HTTP/1.1 200 OK
Content-Length: 39
Content-Type: application/json; charset=utf-8
Date: Mon, 28 Mar 2016 14:32:39 GMT
{
"Message": "Employee updated"
}
Risposta con solo codice di stato:
HTTP/1.1 204 No Content
Content-Length: 39
Date: Mon, 28 Mar 2016 14:32:39 GMT