在 REST Web 服务中,可以说明哪些动词可以用于指定资源。我可以返回任何标头,指定 GET 一个可以传递参数,例如,'name',以便客户知道他可以制作:GET /resource?name=foo
问问题
74 次
1 回答
1
如果您愿意,您可以制作新的标头,但它们不会非常符合协议的设计。首先,重要的是要理解“/bar”标识一个资源,而“/bar?name=foo”标识一个不同的资源,而不是带参数的同一个资源。我知道这与许多流行的 Web 框架的设计背道而驰,但它对于理解如何正确使用协议至关重要。
基于此,OPTIONS 方法应该返回有关已识别资源的信息,这意味着OPTIONS /bar
应该返回有关资源通信选项的响应/bar
,而不是/bar?name={name}
资源集。另请注意,OPTIONS 没有为有效负载指定格式;唯一可互操作的交换是通过众所周知的标头,例如 Allow。
/bar
资源表示包含有关资源的信息的正确方法/bar?name=foo
是通过链接(或表单,其中一些是构造链接的方法),或者在从 检索的有效负载(如果媒体类型支持它)中GET /bar
,或者在响应标头(越来越多地通过Link 标头)。查看URI 模板以替代 HTML 表单。
于 2013-01-31T00:04:50.013 回答