Node.js API设计,将RPC用于业务逻辑还是将业务逻辑隐藏在资源帖子后面?

Node.js API设计,将RPC用于业务逻辑还是将业务逻辑隐藏在资源帖子后面?,node.js,microservices,api-design,Node.js,Microservices,Api Design,因此,我通常会遇到这样的情况:一个资源正在被编辑,但这并不是简单地更改某个资源的字段,而是更复杂的业务逻辑操作,例如: 假设我们有一个名为: /books/:id 现在,对于任何一本书,我们都可以做一个操作,例如,将该书出售。后台将更新该书(数据库表books)的布尔字段sale,并在另一个名为books\u history的表中插入另一行 我的问题是,我应该将业务逻辑隐藏在/books/:idurl的POST控制器后面,还是应该使用图书id和价格作为参数为/rpc/putBookOnSale

因此,我通常会遇到这样的情况:一个资源正在被编辑,但这并不是简单地更改某个资源的字段,而是更复杂的业务逻辑操作,例如:

假设我们有一个名为:

/books/:id
现在,对于任何一本书,我们都可以做一个操作,例如,将该书出售。后台将更新该书(数据库表books)的布尔字段sale,并在另一个名为books\u history的表中插入另一行

我的问题是,我应该将业务逻辑隐藏在/books/:idurl的POST控制器后面,还是应该使用图书id和价格作为参数为/rpc/putBookOnSale等创建不同的url和控制器?

显示了一些可能的解决方案。这也是: