RESTAPI—命名端点的逻辑方式
我希望遵循最佳实践来实现RESTAPI。我想公开一个资源,我可以想出两种方法作为端点 我想让用户有机会收到某个活动的所有付款 我可以公开RESTAPI—命名端点的逻辑方式,rest,api-design,Rest,Api Design,我希望遵循最佳实践来实现RESTAPI。我想公开一个资源,我可以想出两种方法作为端点 我想让用户有机会收到某个活动的所有付款 我可以公开/campaiments/{id}/payment,它返回一个分页的付款列表,其中包含每个付款的所有数据(名称、地址、日期…)。其中,/campaign/{id}依次返回该活动的所有数据(名称、描述…,paymentId的数组,以及一个逐个获取它们的路径) 或者我可以公开/payments/campetings/{campetingsid} 最好的方法是什么?为
/campaiments/{id}/payment
,它返回一个分页的付款列表,其中包含每个付款的所有数据(名称、地址、日期…)。其中,/campaign/{id}
依次返回该活动的所有数据(名称、描述…,paymentId的数组
,以及一个逐个获取它们的路径)
或者我可以公开/payments/campetings/{campetingsid}
最好的方法是什么?为什么?假设REST关心URI拼写是一种误解 但是,我鼓励您在API的URI中采用一致的命名约定。对引用集合并组织URI以表示层次结构的URI使用复数名词是一种常见的方法
因此,对于您在问题中描述的情况,您可以使用
/campetings/{id}/payments
来识别您的资源。它标识特定活动的付款集合。我将使用/campaiments/{id}/payments
,因为它将响应的内容传达给客户机,客户机在使用GET
查询此URL时,可以根据惯例最清楚地看到响应内容
GET /camapaigns/{id}/payments
读起来很像“用id={id}
给我所有活动的付款”。因此,这遵循了最小惊讶的原则。此外,客户机随后会准确地获得所请求的内容
如果您想了解更多有关这方面的信息,请访问Microsoft的RESTful API。谢谢。这是一个打字错误,因为我已经读了一篇关于这个主题的文章。这就是我大摇大摆的样子,谢谢。这是我一开始所做的,但与同事聊天让我产生怀疑。