这个问题的前提是假设请求体可以作为GET
请求的一部分提供 - 但不推荐/适合安静的设计,如果在回答问题之前不是这样,请随时纠正我。
我有一个端点(ASP .Net MVC,如果它很重要),它用FileResult
响应,它基本上是一个'Download Zip File'动作。要构建zip文件,它需要任意数量的id(文件ID),并完成它需要做的事情。
如果查询字符串的一部分,这个guid列表可以非常快速地增长,并且可能超过最大长度(抛开现在这是多么逼真)。
这绝对感觉像是对我的GET
请求,但我考虑POST
只是为了我可以利用请求体的使用来躲避URL长度限制的任何限制。
绕过这种限制的宁静方式是什么?
在这种情况下,你绝对可以使用POST
。你的两个假设都是正确的。 GET
中的请求主体并非普遍接受(我已经看到代理/安全工具丢弃此类数据包),并且arbitrarily long query string也是不可能的。
你听说过Richardson Maturity Model吗?您可以很好地证明您的API是1级API。