RESTAPI:如何命名派生资源?
有无数关于RESTful接口命名约定的问题,特别是关于单复数资源名的问题。有一个惯例是:RESTAPI:如何命名派生资源?,api,rest,Api,Rest,有无数关于RESTful接口命名约定的问题,特别是关于单复数资源名的问题。有一个惯例是: GET /users Retrieve collection of users GET /users/{id} Retrieve user POST /users Create user PUT /users/{id} Update user DELETE /users/{id} Delete user 但是,当资源是从环境派生的值时,上述方法不起作用 我假设的应用程序具有以下端点: GET /sourc
GET /users Retrieve collection of users
GET /users/{id} Retrieve user
POST /users Create user
PUT /users/{id} Update user
DELETE /users/{id} Delete user
但是,当资源是从环境派生的值时,上述方法不起作用
我假设的应用程序具有以下端点:
GET /source Get information about the source of the query.
对此的回应是:
- 推荐人网址
- 远程IP
source
是从环境中派生的,因此从来没有多个源,因此调用资源sources
或提供sources/{foo}
查找是不实际的
REST风格是否提出了如何处理这些实体的命名问题?菲尔丁博士在其著名著作《自然》第6.2.1节中指出: …作者需要一个与他们的语义紧密匹配的标识符 通过超媒体引用意愿,允许引用保留 静态,即使访问该引用的结果可能会更改 随着时间的推移 因此,使用普通的
源端点是有意义的
如果您希望围绕所提供的IP地址提供更全面的服务,这将是另一回事,例如。进一步考虑,我将在资源名称中添加一个后缀“me”,例如,这允许将来的设计,以防“customer”端点允许其他客户的信息。如果这是您的目标,我建议保留该API点的复数名称,并立即通过/cusotmers/:id向任何客户提供简单的访问,这在某些时候肯定是需要的。自发布该API点以来,该决定已更改了很多次。。。我会写一篇博客文章,当我完成这个。