REST应该是超文本驱动的,这意味着什么?

REST应该是超文本驱动的,这意味着什么?,rest,Rest,我不熟悉RESTful API,我在任何地方都读到REST API“必须是超文本驱动的”。我在谷歌上搜索了很多,但还没有找到对这个概念的具体解释。因此: 实际上,REST api应该是“超文本驱动”是什么意思?REST意味着api遵循HTTP谓词、状态代码等的正确用法。HTTP协议有如下谓词:GET、POST、PUT、OPTIONS和DELETE。在RESTAPI中,每个谓词都映射到资源上的特定操作。例如: POST总是创建一个新的资源实例;GET是获取资源(或列表),DELETE是始终删除关联

我不熟悉RESTful API,我在任何地方都读到REST API“必须是超文本驱动的”。我在谷歌上搜索了很多,但还没有找到对这个概念的具体解释。因此:


实际上,REST api应该是“超文本驱动”是什么意思?

REST意味着api遵循HTTP谓词、状态代码等的正确用法。HTTP协议有如下谓词:GET、POST、PUT、OPTIONS和DELETE。在RESTAPI中,每个谓词都映射到资源上的特定操作。例如: POST总是创建一个新的资源实例;GET是获取资源(或列表),DELETE是始终删除关联的资源;PUT是修改/更新现有资源。。。。。 另外,您应该使用指示响应的状态代码:201创建,200修改,等等


你可以在(吉姆·韦伯的书)上获取更多信息。

当我说超文本时,我指的是同时呈现信息和控制,这样信息就成为用户(或自动机)获得选择和选择行动的启示。
Roy T.Fielding-

它是关于REST体系结构风格的基本约束之一——作为应用程序状态引擎的超媒体(HATEOAS)。这意味着,在任何给定时刻,基于超媒体表示当前资源的客户机必须拥有决定下一步传输位置所需的所有信息(更改其应用程序状态)。超文本中的超媒体控件将资源相互连接,并以机器可读的方式描述它们的功能。为了与REST服务器通信,REST客户端只需要知道一件事——理解超媒体。相反,在面向服务的体系结构(SOA)中,客户机和服务器通过文档或接口描述语言(IDL)共享的固定接口进行交互

HATEOAS将客户机和服务器解耦,以便可以分别开发它们

比如说,

如果您使用一些URL/customers/向rest服务进行初始呼叫以添加客户,那么您将得到回复(认为客户已成功添加)

HTTP/1.1 201已创建
地点:http://www.myREST/customers//
现在,调用addcustomer的客户机知道如何从作为响应头返回的链接中找到相应的客户


您可能会问,客户如何知道他可以向/customer/发帖。通过不同的方式-超媒体控件、特定于DSL的格式和配置文件。

No,“REST”不是“正确执行HTTP”。后者是好的,但其余部分会增加更多方面。谢谢。当我说对的时候,我的意思是,在api中的适当使用。再次感谢。
REST本身就是架构吗?或者它在
SOA
下仅作为体系结构样式?
HTTP/1.1 201 Created
Location: http://www.myREST/customers/<uuid>/