配置文件/帐户REST API命名约定

时间:2015-06-10 16:58:46

标签: php web-services api rest http

我试图搜索网络,但未找到以下请求的最佳实践网址命名约定示例。
我的API允许用户登录系统,检索可用于通过HTTPS访问私有数据的安全令牌。

因此API将支持以下功能:

  1. 验证。简单的身份验证。 /api/auth将用于首次登录系统并获取令牌以响应或刷新过期令牌(如果需要)。

  2. 查看个人资料数据(名字,姓氏,电话号码......)。为此资源形成URL的最佳方法是什么。我有几个想法:/api/users/me/profile OR /api/users/{id}/profile。在第一种情况下,我们的客户端(REST API使用者)不需要知道用户的确切ID,当用户尝试访问该资源时,它检查令牌是否有效,如果传递的用户名存在并且绑定到令牌,而不仅仅是根据此信息返回数据。在第二种情况下,我们必须知道用户的确切ID,当然这个ID可以返回以响应auth。

  3. 还有其他方法,例如/api/user/me/orderlist, /api/user/me/someuserspecificinfo

  4. 如何下​​单。我已经阅读了如果您需要创建新资源,您必须使用POST,如果更新 - PUT。我的网址应该如何?

    /api/neworder (parameters in post body), /api/user/neworder , /api/orders (just with post method)

    .......

  5. 请建议此类资源的常用命名约定

1 个答案:

答案 0 :(得分:2)

您的资源URI应该或多或少不变,HTTP动词确定执行的操作,例如:

/api/orders

  • GET:列出订单
  • POST:创建新订单

/api/orders/{order-id};

  • GET:检索有关订单的信息
  • POST:创建具有指定ID
  • 的订单
  • PUT:修改订单
  • DELETE:删除订单

将类似函数的名称放在REST API中,如/api/user/neworder,这是吸引REST原教旨主义者的好方法。