我想遵循实现REST的最佳实践。有一个资源是我想要公开的,我可以将两种方法作为端点。
我想给用户一个机会,接受所有的付款,为一个特定的运动。
我可以公开/campaigns/{id}/payment
,它返回一个分页的付款列表,其中包含每个付款的所有数据(名称、地址、日期.)。其中,/campaign/{id}
依次返回活动的所有数据(名称、描述.、paymentId
数组以及一个接一个地获取它们的路径)。
或者我可以揭露/payments/campaigns/{campaignsId}
。
什么是最好的方法,为什么?
发布于 2018-08-07 10:13:17
我会使用/campaigns/{id}/payments
,因为它传达了客户端在使用GET
查询该URL时最清晰和最常见的响应内容。
GET /camapaigns/{id}/payments
读起来很像“用id = {id}
给我所有的竞选费用”。因此,这遵循了最小惊讶的原则。另外,客户端会得到所请求的内容。
如果您想了解更多有关RESTful API的内容,那么微软提供了一个很好的RESTful API。
发布于 2018-08-07 10:09:38
假设REST关心URI拼写是一个misconception.
但是,我鼓励您在URI中为您的API采用一致的命名约定。对引用集合的URI使用复数名词并组织URI来表示层次结构是一种常见的方法。
因此,对于您在问题中描述的情况,可以使用/campaigns/{id}/payments
来标识您的资源。它确定了某一特定运动的付款集合。
https://stackoverflow.com/questions/51723913
复制相似问题