【问题标题】:Desiging restful API for user resource为用户资源设计restful API
【发布时间】:2015-03-17 21:30:32
【问题描述】:

我正在使用 Laravel 和 AngularJS 设计一个宁静的 API。我知道 RESTful API 的基础知识,但很难弄清楚为 user 资源设计它的最佳方法是什么。

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

  1. 对于用户资料查看:www.example.com/users/{id}
  2. 用户资料更新:www.example.com/users/{id}/edit

但这些 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 的最合适方式是什么?

【问题讨论】:

    标签: php angularjs api rest


    【解决方案1】:

    我认为您应该利用在RESTFUL api 中使用HTTP 动词的优势,这将使您的网址更具可读性:

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

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

    【讨论】:

    • 抱歉,我忘了说我使用的是 HTTP 动词。但是,我不确定,只有 HTTP 动词定义 REST 或 URL 部分或两者兼而有之。
    • @Anindya 这取决于你的设计,但对我来说,最好的做法是影响 HTTP 动词的含义来定义与资源相关的操作的含义,以这种方式您将最小化 url 中的解释,也总是避免在端点中使用动词总是使用名词来提供更好的 api 检查这篇文章restful_api_design_nouns_are_good_verbs_are_bad
    • 感谢好友提供链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多