为用户资源设计restfulAPI
Desiging restful API for user resource
我正在使用 Laravel 和 AngularJS 设计 restful API。我知道 restful API 的基础知识,但很难弄清楚为 user 资源设计它的最佳方法。
让我们猜猜,用户可以拥有他的个人资料并且可以更新个人资料。所以,URL 应该是这样的:
- 对于用户配置文件视图:
www.example.com/users/{id}
- 对于用户配置文件更新:
www.example.com/users/{id}/edit
但是这些 URL 看起来很糟糕。漂亮的 URL 是:
- 对于用户配置文件视图:
www.example.com/profile
- 对于用户配置文件更新:
www.example.com/profile/edit
或
- 对于用户配置文件视图:
www.example.com/{username}
- 对于用户配置文件更新:
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
我正在使用 Laravel 和 AngularJS 设计 restful API。我知道 restful API 的基础知识,但很难弄清楚为 user 资源设计它的最佳方法。
让我们猜猜,用户可以拥有他的个人资料并且可以更新个人资料。所以,URL 应该是这样的:
- 对于用户配置文件视图:
www.example.com/users/{id}
- 对于用户配置文件更新:
www.example.com/users/{id}/edit
但是这些 URL 看起来很糟糕。漂亮的 URL 是:
- 对于用户配置文件视图:
www.example.com/profile
- 对于用户配置文件更新:
www.example.com/profile/edit
或
- 对于用户配置文件视图:
www.example.com/{username}
- 对于用户配置文件更新:
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