Diciamo che sto creando un'interfaccia RESTful e voglio caricare una risorsa usando PUT
a /resources/{id}
. Ma voglio solo caricare la cosa se non è stata caricata prima.RESTful PUT se non esiste?
Mi rendo conto che PUT
dovrebbe essere idempotente, quindi se Iqualcosa due volte per lo stesso URL dovrebbe riuscire entrambe le volte, giusto?
Capisco anche che potrei usare HEAD
su una risorsa esistente, e poi use an ETag
al mio PUT
per garantire che la risorsa non è stato modificato dall'ultima volta che ho controllato.
Ma come posso garantire di caricare una cosa solo se la cosa non esiste già? Cioè, come posso assicurarmi di non calpestare la cosa di qualcun altro?