我试图搜索网络,但未找到以下请求的最佳实践网址命名约定示例。
我的API允许用户登录系统,检索可用于通过HTTPS访问私有数据的安全令牌。
因此API将支持以下功能:
验证。简单的身份验证。 /api/auth
将用于首次登录系统并获取令牌以响应或刷新过期令牌(如果需要)。
查看个人资料数据(名字,姓氏,电话号码......)。为此资源形成URL的最佳方法是什么。我有几个想法:/api/users/me/profile OR /api/users/{id}/profile
。在第一种情况下,我们的客户端(REST API使用者)不需要知道用户的确切ID,当用户尝试访问该资源时,它检查令牌是否有效,如果传递的用户名存在并且绑定到令牌,而不仅仅是根据此信息返回数据。在第二种情况下,我们必须知道用户的确切ID,当然这个ID可以返回以响应auth。
还有其他方法,例如/api/user/me/orderlist, /api/user/me/someuserspecificinfo
。
如何下单。我已经阅读了如果您需要创建新资源,您必须使用POST,如果更新 - PUT。我的网址应该如何?
/api/neworder (parameters in post body), /api/user/neworder , /api/orders (just with post method)
.......
请建议此类资源的常用命名约定
答案 0 :(得分:2)
您的资源URI应该或多或少不变,HTTP动词确定执行的操作,例如:
/api/orders
:
GET
:列出订单POST
:创建新订单 /api/orders/{order-id}
;
GET
:检索有关订单的信息POST
:创建具有指定ID PUT
:修改订单DELETE
:删除订单将类似函数的名称放在REST API中,如/api/user/neworder
,这是吸引REST原教旨主义者的好方法。