Se invio una richiesta POST per aggiornare alcuni oggetti in un DB, come ad esempio:
User{
id: 20,
name: "Jack",
UserAssociations:[{
id: 100,
association: object1
},{....}]
........
}
Dove invio un oggetto principale insieme a un array di oggetti figlio a un servizio REST, ma mi aspetto che gli ID che ottengo dal server siano diversi da quelli che ho. Quindi il mio ID locale per l'utente Jack potrebbe essere 20, ma nel database stesso sarà 50. Lo stesso per gli oggetti figlio. Qual è la procedura migliore per restituire un messaggio di risposta che associa il vecchio valore ID al nuovo valore ID. Voglio spingere tutto come un'unica transazione (dove se una qualsiasi parte del POST fallisce, l'intera cosa fallisce). L'unico modo in cui riesco a pensare ora è qualcosa come:
Response{
success: "status message",
id: 50,
UserAssociations: [{
originalID: 100,
newID: 8421
}]
}
Dove ho appena una matrice di valori per ogni oggetto figlio contenente 2 campi, l'ID che ho passato e il nuovo ID che sto recuperando. Il problema principale che sto avendo con questo è che mi richiederebbe di eseguire il loop dei miei dati localmente per abbinare gli ID da aggiornare. C'è una pratica migliore che mi manca per evitare questo?