HATEOAS 标准/架构模式
HATEOAS standards / architectural pattern
如果我是正确的,HATEOAS 是一种体系结构模式并且没有描述客户应该如何发现关系。 HATEOAS 只是描述服务器应该向客户端发送可发现的 API。
采用 HATEOAS 时,api 作者可以定义客户端如何发现关系。
例如,如果没有像 hydra / hal / jsonapi 这样的标准,则不清楚 json 是否使用 "link"、“_link”、"links", "relations" json 文档中的字段来表示关系。
在我看来,作为 api 作者,这将允许我定义如下内容(有效的 HATEOAS):
符号“”表示超媒体控件数组
超媒体控件由字符串表示。
字符串可以以保留符号“✔”、“↯”、“±”开头。
如果超媒体字符串以“✔”开头,则允许客户端对URL 执行安全的GET 请求。 URL 跟在“✔”符号之后,并进行了 rot13 解码。
{
…
"": [
“✔uggc://.../traerf/snagnfl”
]
}
在我看来,这应该是有效的 HATEOAS,还是我漏掉了什么?
当然,在 HATEOAS 之上定义自己的标准是没有意义的。
没有像"HATEOAS"这样的标准或架构模式。 REST(Representational State Transfer) Architectural Style(Style not pattern or something) 包含多个约束。 约束之一被称为-"Hypermedia as the Engine of Application State"。
If the hypermedia string starts with "✔", the client is allowed to do
a safe GET request to the URL. the URL follows the "✔" symbol and is
rot13 decoded.
所有这些都是不相关的(纯设计),唯一重要的是选择超媒体类型(HTML、Atom、Collection+JSON 等)和超文本控件,如:
由媒体类型定义,而不是由 "if the URL follows the symbol" 等约定...
如果我是正确的,HATEOAS 是一种体系结构模式并且没有描述客户应该如何发现关系。 HATEOAS 只是描述服务器应该向客户端发送可发现的 API。
采用 HATEOAS 时,api 作者可以定义客户端如何发现关系。
例如,如果没有像 hydra / hal / jsonapi 这样的标准,则不清楚 json 是否使用 "link"、“_link”、"links", "relations" json 文档中的字段来表示关系。
在我看来,作为 api 作者,这将允许我定义如下内容(有效的 HATEOAS):
符号“”表示超媒体控件数组
超媒体控件由字符串表示。
字符串可以以保留符号“✔”、“↯”、“±”开头。
如果超媒体字符串以“✔”开头,则允许客户端对URL 执行安全的GET 请求。 URL 跟在“✔”符号之后,并进行了 rot13 解码。
{
…
"": [
“✔uggc://.../traerf/snagnfl”
]
}
在我看来,这应该是有效的 HATEOAS,还是我漏掉了什么?
当然,在 HATEOAS 之上定义自己的标准是没有意义的。
没有像"HATEOAS"这样的标准或架构模式。 REST(Representational State Transfer) Architectural Style(Style not pattern or something) 包含多个约束。 约束之一被称为-"Hypermedia as the Engine of Application State"。
If the hypermedia string starts with "✔", the client is allowed to do a safe GET request to the URL. the URL follows the "✔" symbol and is rot13 decoded.
所有这些都是不相关的(纯设计),唯一重要的是选择超媒体类型(HTML、Atom、Collection+JSON 等)和超文本控件,如:
由媒体类型定义,而不是由 "if the URL follows the symbol" 等约定...