纯粹为了使用 HTTP 请求正文而发布
Posting purely for use of the HTTP request body
此问题假设请求正文可以作为 GET
请求的一部分提供 - 但不符合 recommended/in 符合 restful 设计,请随时更正在回答问题之前,如果不是这样的话。
我有一个端点(ASP .Net MVC,以防万一),它以 FileResult
响应,它基本上是一个 'Download Zip File' 动作。要构建 zip 文件,它需要任意数量的 ID(文件 ID),并执行它需要执行的操作。
如果是查询字符串的一部分,此 guid 列表可能会增长得非常快,并且可能会超过最大长度(暂时不考虑这有多现实)。
这对我来说绝对感觉像是一个 GET
请求,但我考虑过 POST
只是为了我可以利用请求正文来规避 [=] 的任何限制29=]长度限制。
restful 规避此限制的方法是什么?
在这种情况下你绝对可以使用POST
。你的两个假设都是正确的。 GET
中的请求正文未被普遍接受(我见过 proxies/security 丢弃此类数据包的工具),并且 arbitrarily long query string 也是不可能的。
你听说过Richardson Maturity Model吗?您可以很好地证明您的 API 为 级别 1 API.
此问题假设请求正文可以作为 GET
请求的一部分提供 - 但不符合 recommended/in 符合 restful 设计,请随时更正在回答问题之前,如果不是这样的话。
我有一个端点(ASP .Net MVC,以防万一),它以 FileResult
响应,它基本上是一个 'Download Zip File' 动作。要构建 zip 文件,它需要任意数量的 ID(文件 ID),并执行它需要执行的操作。
如果是查询字符串的一部分,此 guid 列表可能会增长得非常快,并且可能会超过最大长度(暂时不考虑这有多现实)。
这对我来说绝对感觉像是一个 GET
请求,但我考虑过 POST
只是为了我可以利用请求正文来规避 [=] 的任何限制29=]长度限制。
restful 规避此限制的方法是什么?
在这种情况下你绝对可以使用POST
。你的两个假设都是正确的。 GET
中的请求正文未被普遍接受(我见过 proxies/security 丢弃此类数据包的工具),并且 arbitrarily long query string 也是不可能的。
你听说过Richardson Maturity Model吗?您可以很好地证明您的 API 为 级别 1 API.