Sto lavorando a un'applicazione che richiede una contabilità a partita doppia. Attualmente ci sono due punti finaliValori aggregati nelle API REST
/account
/transaction
Mentre /account
gestisce i dati generali dei conti, /transaction
gestisce le transazioni per i depositi/ritiro. Il saldo del conto viene calcolato in base alle transazioni correlate. Li ho tenuti separati per ottenere coerenza nella contabilità durante il trasferimento del valore da uno a un altro account.
La mia domanda è come rappresentare il saldo di un account sull'endpoint /account
poiché verrà sempre calcolato al momento della richiesta. Una risposta dovrebbe contenere il saldo come un campo di sola lettura? Questo ha un cattivo design API da tutti i campi, ma questo potrebbe essere scrivibile/aggiornabile.
L'alternativa venire in mente sarebbe quello di estendere l'endpoint per
/account/{id}/balance
ritorno solo il saldo del conto in merito. Tuttavia, questo richiederebbe sempre una seconda chiamata per ottenere il saldo in aggiunta ai dati rimanenti dell'account. Forse la risposta potrebbe essere generalizzata su come rappresentare i valori aggregati.
Di solito non si hanno azioni nei restanti endpoint. Per azione intendo "calcolare il bilanciamento". La specifica del nome della risorsa è la normale convenzione REST. –