为用户资源设计restfulAPI

Desiging restful API for user resource

我正在使用 Laravel 和 AngularJS 设计 restful API。我知道 restful API 的基础知识,但很难弄清楚为 user 资源设计它的最佳方法。

让我们猜猜,用户可以拥有他的个人资料并且可以更新个人资料。所以,URL 应该是这样的:

  1. 对于用户配置文件视图:www.example.com/users/{id}
  2. 对于用户配置文件更新:www.example.com/users/{id}/edit

但是这些 URL 看起来很糟糕。漂亮的 URL 是:

  1. 对于用户配置文件视图:www.example.com/profile
  2. 对于用户配置文件更新:www.example.com/profile/edit

  1. 对于用户配置文件视图:www.example.com/{username}
  2. 对于用户配置文件更新:www.example.com/{username}/edit

我的问题是,如果我使用最后两个漂亮的URL,是否会破坏restful API原则?为 user 资源设计 API 的最合适方法是什么?

我认为您应该在 RESTFUL api 中使用 HTTP 动词,这将使您的 url 更具可读性,例如:

`GET www.example.com/users/{id}` for profile retrieval
`PUT www.example.com/users/{id}` for profile update

您可以查看此博客以获取更多信息HTTP Verbs