REST API网址,适用于多个执行相同动作的参与者

时间:2019-06-07 20:12:19

标签: rest api api-design

考虑一个资源,多个参与者可以在该资源上执行相同的操作。例如抵押贷款,银行和评估机构都可以批准或拒绝抵押贷款请求。 以下是有关API的结构方式的一些选项:

a)演员是网址的一部分
/ loan / {id} / bank / approve
/ loan / {id} / ratingagency / approve

b)演员是标题的一部分
/ loan / {id} / approve
x演员:银行|评级机构

a)的优点
1.从访问日志中,更容易识别参与者和行动
2.从微服务架构的角度来看,如果银行批准的扩展要求不同于评级机构的批准,则API的部署和扩展可能会更容易。不确定是否也可以使用标头(?)

b)的优点
1.更符合REST原则(?)
还有其他人吗?

对于a),可以说带有子资源的API的结构是这样的。通过扩展,可以将相同的动作应用于同一行为者。

在以上两种方法中寻找建议/意见。

1 个答案:

答案 0 :(得分:1)

开始时动作URL并不是真正的RESTful。无论如何,以多个uri方式暴露陶瓷物品是完全可以的。听起来这可能是一个不错的设计决策。好的REST客户端和服务器模型并不关心uri的结构,应该会发现它们。