在HATEOAS范例中,REST响应中的链接表示什么,动作或资源?我有一个带有类型下拉列表的订单。某些高级选项字段将根据这些选择在表单中加载。
按照HATEOAS范例,客户不应该知道或猜测从哪里加载这些额外的字段。因此,我为所提供的每个选项都包含了1个链接。链接对象上的rel
属性应该提供有关链接意图的某种文档。这是正确的实施吗?
'net上的流行咖啡店示例(在Ian Robinson的演讲和InfoQ上的文章中)使用链接来识别下一个可用的状态转换。这些在精神上是等同的吗?
答案 0 :(得分:1)
我不会说您的示例是正确的或不正确的,而是它是兼容的超媒体链接。有不同类型的超媒体链接,您只需要找到最合适的。例如,有时将链接关系与资源与链接资源分开是有意义的。使用XML,您可以这样做:
<link rel="type1SpecialOptions" href="http:/yourDomain/specialOptions/type1" />
<link rel="type2SpecialOptions" href="http:/yourDomain/specialOptions/type2" />
而不是仍然有效的超媒体链接样式:
<link specialOptions="http:/yourDomain/specialOptions/type1" />
<link specialOptions="http:/yourDomain/specialOptions/type2" />
选择一种对您的应用程序有意义的链接类型。这个article on hypermedia links对超媒体链接的类型有一个非常简短的解释。它几乎假设您熟悉超媒体和REST的术语,所以请先查看第一个示例,然后按照不同链接类型的链接来更好地了解可能的内容。
答案 1 :(得分:0)
有几种选择:
OPTIONS
返回Allow:
标头,提供有关可执行操作的信息。此选择需要第二次往返,但除上述三种中的一种或多种外,还可以支持。