gpt4 book ai didi

rest - 在 Allow : header for overloaded POST 中宣传什么

转载 作者:可可西里 更新时间:2023-11-01 15:23:43 26 4
gpt4 key购买 nike

重载 POST 是 REST API 的常见做法,尤其是在使用 HTML 作为媒体类型时。

但我想知道在 Allow: header 中宣传重载 POST 的正确方法是什么。

对于可以读取和更新的典型资源,人们可能期望:

Allow: GET, HEAD, PUT

但是当我必须为 PUT 重载 POST 时,Allow: header 现在是否应该提到 POST 已被接受?如果我希望只接收重载的 POST 请求,它是否应该停止提及 PUT

最佳答案

我总是从行为的角度来看待这类问题,根据哪些客户会关心响应的那个方面,以及它会对这些客户产生什么影响。

那么,具体来说,哪些客户关心并使用 Accept header ,这对这些客户有什么影响?

首先是网络浏览器。我最初的想法是,如果您使用的是 CORS,那么 Accept header 的值可能与网络浏览器相关,并且可能需要包含 POST。然而,这实际上是 Access-Control-Allow-Methods。据我所知,Allow header 实际上对浏览器客户端没有任何行为影响。

然后是程序化客户端。在这些情况下,非重载方法很可能就是您想要列出的方法。 (例如,也许您会有生成客户端的文档来检查和显示允许的方法。从用户的角度来看,它也更有意义。)

最后,有些用户正在直观地检查您的 API 响应。在这种情况下,我可能更喜欢重载方法集,因为它提供更多信息。


简而言之 - 我可能只列出允许的重载方法集,不包括 POST。浏览器通常是唯一会发出过载请求的客户端,我不知道它以任何方式使用或检查 Accept header 。

关于rest - 在 Allow : header for overloaded POST 中宣传什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30271111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com