Ho le seguenti risorse nella mia API web Asp.net:
percorso: costituito dalle seguenti proprietà pertinenti
- arrival_location_id
- leaving_location_id
e posizione:
- id
- nome
- coordinate
Il fatto è che, quando creo un nuovo percorso, creo molti percorsi e voglio consentire agli utenti di creare nuove posizioni se non esistono già.
Ho due diversi approcci a cui posso pensare
Crea un'azione che gestisca entrambi
Riceverò qualcosa come il seguente json
{
"routes":[
{
"arrivalLocationId": 1,
"leavingLocationId": -1
},
{
"arrivalLocationId": -1,
"leavingLocationId": 2
},
{
"arrivalLocationId": -2,
"leavingLocationId": 2
}
],
"locations":[
{ /*blablabla*/}
{ /*blablabla*/}
]
}
L'azione inserirà le posizioni e aggiornerà gli ID negativi all'ID corretto di ogni posizione.
Crea due diverse azioni
L'altra opzione è la più riposante. Richiede due chiamate diverse al server: prima inserisci le nuove posizioni e poi inserisci le rotte.
Pro e contro
Il primo richiede meno chiamate al server e quindi riduce l'utilizzo dei dati.
L'ultimo è più riposante e molto più semplicistico in termini di sviluppo - non c'è bisogno di controlli diversi sul lato server, probabilmente più facile anche per il lato client.
Suppongo che nel mio caso non importi molto, ma questo genere di cose crea una sorta di linea guida per i futuri sviluppatori, e potrebbe fare la differenza in futuro -
quindi la vera domanda è -
l'abbassamento dell'utilizzo dei dati può essere un fattore importante nella progettazione delle API o solo quando la differenza è notevole?