如果我有一个代表集合的网址,是否有一种描述过滤器的好方法?
e.g. http://example.com/comic_books?after=2001-01-01&before=2002-03-09
如果我将这些过滤器作为服务合同的一部分,我是不是违反了超媒体作为应用程序状态引擎的想法?
我是否需要另一个链接到我的收藏集的资源并描述过滤器,例如通过HTML表单?
答案 0 :(得分:0)
您可以将HTML表单视为代表您的资源和过滤器的网址模板,这没有任何问题,我们每天都会这样做(google.com?s=query)。有些人认为你不需要一个表单来表示一个URL模板,单独的文档是足够的,因此对于许多表单本身是可选的。
超媒体方面主要与链接本身的存在有关。记录服务不是“带外”考虑因素。您想要的是将链接选项显示为客户端可以遵循的超媒体的一部分。表格可以很好,但不是必需的。您可以使用(甚至需要)过滤器的相同链接和查询参数,而无需将其明确列为有效负载的一部分。
将HAL视为HTML的替代品,它没有形式的概念,但许多人认为它是一种优秀的超媒体兼容媒体类型。