我正在设计一个尽可能符合HATEOAS原则的RESTful服务。因此,我需要一种方法让我的酷URL返回描述可用选项的链接列表。我正在使用HAL-JSON来促进数据格式,所以这一切都很好,但我现在正在考虑采用哪种HTTP方法。
我确信我可以坚持使用简单的GET,但是通过阅读HTTP RFC,似乎OPTIONS可能适合这里的法案。我唯一关注的是粗体:
9.2选项
OPTIONS方法表示有关的信息请求 请求/响应链上可用的通信选项 由Request-URI标识。这种方法允许客户端 确定与资源相关的选项和/或要求, 或服务器的功能,而不暗示资源操作或 启动资源检索。
对此方法的回复不可缓存。
在网络标准方面有更多经验的人可以解释为什么会这样吗?在我看来,您肯定希望客户端至少在短时间内缓存此结果,因为在完全HATEOAS系统中,此调用很可能经常进行,以遍历rel链接以到达您正在查看的操作对
我也喜欢使用OPTIONS和简单GET从酷网址中检索操作的一些意见。
答案 0 :(得分:0)
OPTION HTTP请求返回可在资源上执行的可用方法。 (对象方法)
我无法确定为什么你不能缓存响应,但它最有可能是一个预防措施。缓存对OPTION http方法没什么价值。
资源是“任何可以赋予名称的信息”,该名称是其URI。 OPTION请求的响应只是可以在此资源上请求的方法列表(例如,“GET PUT POST”可能是响应)。要实际获取存储的信息,您必须使用GET方法。
答案 1 :(得分:0)
它不可缓存,期间。遗憾。