0

在 REST Web 服务中,可以说明哪些动词可以用于指定资源。我可以返回任何标头,指定 GET 一个可以传递参数,例如,'name',以便客户知道他可以制作:GET /resource?name=foo

4

1 回答 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 回答