选项http方法:如何正确实施

时间:2018-12-28 12:52:18

标签: rest http

我有一个使用不同资源的应用程序:

  1. 获取 /report/555
  2. POST /messages

现在,我想在应用程序中支持 OPTIONS http方法。我应该为所有OPTIONS请求实现一个处理程序并在GET, POST标头中返回Allow还是最好为每条路由返回不同的响应:Allow: GET/report/555,{{1 1}}代表Allow: POST

2 个答案:

答案 0 :(得分:1)

我不确定100%知道您的问题,但是:

OPTIONS应该在特定目标上调用。它通常应返回可用于该目标的动词。如果要查找所有端点的选项,则需要发送*request-target的请求。

有关OPTIONS的更多信息,请查看RFC 7231

答案 1 :(得分:1)

在这里返回不同的响应是正确的选择。

这是推理。

如果您同时返回Allow: GET, POST/report/555的{​​{1}}, 您指出/messages允许POST,这是不正确的 并且允许/report/555使用GET,这也是不正确的。

因此,您应该为每个请求目标返回正确的响应。

专门使用示例,这意味着您应该为/messages返回Allow: GET,为/report/555返回Allow: POST