【问题标题】:Can we say “If an API is following 6 constraints of REST then it’s a RESTful API”?我们可以说“如果一个 API 遵循 REST 的 6 个约束,那么它就是一个 RESTful API”?
【发布时间】:2020-09-19 15:23:29
【问题描述】:

我们可以说“如果一个 API 遵循 REST 的 6 个约束,那么它就是一个 RESTful API”? 还是我的说法完全错误?

【问题讨论】:

  • 理论上是的,但是在实践中,因为一些use cases pointed out 可能需要进一步的限制

标签: node.js json api rest http


【解决方案1】:

嗯,你说对了一半。 是的,Roy Fielding 先生在他的博士论文中描述了 6 个限制条件。 但是,最后一个“按需代码”是可选的

参考:https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

【讨论】:

    【解决方案2】:

    我们可以说“如果一个 API 遵循 REST 的 6 个约束,那么它就是一个 RESTful API”?还是我的说法完全错误?

    您可能需要详细了解“统一接口”约束的性质:

    REST 由四个接口约束定义:资源标识;通过表示来操纵资源;自我描述的信息;并且,超媒体作为应用程序状态的引擎。

    另请参阅REST APIs Must be Hypertext Driven(菲尔丁 2008 年)。

    【讨论】:

      【解决方案3】:

      REST 定义了 6 个架构约束,这些约束使任何 Web 服务成为真正的 RESTful API。

      1. 统一界面
      2. 客户端-服务器
      3. 无状态
      4. 可缓存
      5. 分层系统
      6. 按需代码(可选

      以上所有限制都有助于您构建真正的 RESTful API,您应该遵循它们。不过,有时,如果您发现自己违反了一两个约束条件。不用担心;您仍在制作 RESTful API,但不是“真正的 RESTful”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-20
        • 1970-01-01
        • 2018-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-26
        • 1970-01-01
        相关资源
        最近更新 更多