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