Sto costruendo un server che consente ai client di archiviare oggetti. Tali oggetti sono interamente costruiti sul lato client, completi di ID oggetto che sono permanenti per l'intera durata dell'oggetto.
Ho definito l'API in modo che i client possano creare o modificare oggetti usando PUT:
PUT /objects/{id} HTTP/1.1
...
{json representation of the object}
{Id} è l'ID oggetto, quindi fa parte dell'URI di richiesta.
Ora sto anche considerando la possibilità di consentire ai clienti di creare l'oggetto utilizzando POST:
POST /objects/ HTTP/1.1
...
{json representation of the object, including ID}
Poiché POST è inteso come operazione "append", non sono sicuro di cosa fare nel caso in cui l'oggetto sia già presente. Devo trattare la richiesta come richiesta di modifica o devo restituire un codice di errore (quale)?