Best practice per gestire il POST con array di oggetti se almeno un oggetto genera un'eccezione

6

Voglio POST un array di oggetti e fare un inserimento nel database riguardante ciascuno di essi.

Qual è la migliore pratica se un oggetto non è conforme e genera un'eccezione? (cancella tutte le transazioni o solo una e specificala quando ritorna questa lista di oggetti?)

    
posta Kénium 09.06.2015 - 11:08
fonte

2 risposte

13

Il tuo post dovrebbe essere una singola azione autonoma che ha successo nel suo complesso o fallisce nel suo complesso. Pertanto, se un elemento contiene un errore, devi rifiutare l'intero set.

Dovresti anche controllare questi elementi se possibile prima ancora di iniziare la transazione del tuo database in modo da avere la possibilità di sbagliare presto.

Naturalmente, se il tuo motore di database solleva un'eccezione (ad esempio a causa di vincoli referenziali), esegui il rollback dell'intera transazione.

    
risposta data 09.06.2015 - 11:12
fonte
2

Se si tratta di un'operazione batch, preferisco elaborare tutte le operazioni una per una e restituire l'array di oggetti con il proprio stato.

È possibile restituire il codice di stato HTTP 200 OK se tutte le operazioni sono riuscite o 207 Multi-Status se si verificano operazioni non riuscite nel gruppo.

    
risposta data 11.06.2015 - 14:21
fonte

Leggi altre domande sui tag