纯粹为了使用 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.