我正在申请一项需要一些复式记账的申请。目前有两个端点
/account
/transaction
虽然/account
处理帐户的一般数据,但/transaction
处理存款/取款的交易。账户余额根据相关交易计算。我将它们分开,以便在将价值从一个账户转移到另一个账户时保持记账的一致性。
我的问题是如何在/account
端点表示帐户的余额,因为它始终会根据请求时间计算。响应是否应将余额作为只读字段包含?这有点像糟糕的API设计,因为所有字段都是可写的/可更新的。
我想到的另一种方法是将端点扩展到
/account/{id}/balance
仅返回相关帐户的余额。但是,除了帐户的剩余数据之外,这总是需要第二次调用以获得余额。也许答案可以概括如何表示聚合值。
答案 0 :(得分:0)
非常好的问题。我经常遇到这样的情况。我会说两件事:
我想我会选择/ account / {id} / balance ...但是可能会将其命名为/ account / {id} / calculatebalance以表明运行此方法确实需要一些时间。而且,很明显该值是计算值。如果你有几个"计算出的值,然后我会重新考虑我的意见。
2美分。