Intestazioni di richiesta aggiuntive
Catalog fornisce diverse convenzioni di intestazione che consentono di mantenere l'integrità dei dati durante gli aggiornamenti.
If-Match
È consigliabile utilizzare il controllo delle versioni degli oggetti per evitare il tipo di danneggiamento dei dati che si verifica quando un oggetto viene salvato da più utenti quasi contemporaneamente.
La best practice per aggiornare un oggetto prevede innanzitutto una chiamata API per visualizzare (GET) l’oggetto da aggiornare. Contenuto nella risposta (e in qualsiasi chiamata in cui la risposta contiene un singolo oggetto) è un'intestazione E-Tag
contenente la versione dell'oggetto. Se si aggiunge la versione dell'oggetto come intestazione di richiesta denominata If-Match
nelle chiamate di aggiornamento (PUT o PATCH), l'aggiornamento avrà esito positivo solo se la versione è ancora la stessa, evitando conflitti di dati.
Se le versioni non corrispondono (l’oggetto è stato modificato da un altro processo dopo averlo recuperato), riceverai lo stato HTTP 412 (Precondizione non riuscita) che indica che l’accesso alla risorsa di destinazione è stato negato.
Pragma
In alcuni casi, può essere utile convalidare un oggetto senza salvare le informazioni. L'utilizzo dell'intestazione Pragma
con un valore di validate-only
consente di inviare richieste POST o PUT solo a scopo di convalida, impedendo la persistenza di eventuali modifiche ai dati.