在 GET 请求中发送广泛过滤器而不超出标头限制的最佳实践

问题描述 投票:0回答:1

我正在开发一个允许用户按位置过滤的应用程序。为此,我将城市过滤器添加到查询参数中。例如,如果有人选择

California
,我会将其编码为 Base64,然后将过滤器添加到我的查询参数中。这是编码的过滤器对象:

[{city: "San Francisco", state: "California", country: "USA"}, {...}, {...}]

这是编码后请求的样子:

http://localhost:3001/api/v1/companies?offset=0&limit=50&locs=W3siY2l0eSI6IkFsYW1lZGEiLCJzdGF0ZSI6IkNhbGlmb3JuaWEiLCJjb3VudHJ5IjoiVW5pdGVkIFN0YXRlcyJ9LHsiY2l0eSI6IkFuYWhlaW0iLCJzdGF0ZSI6IkNhbGlm...

但是,经过一定数量的过滤器后,我遇到了标头限制(即我无法将更多信息放入请求标头中)。

处理此问题的最佳实践方法是什么?我应该发送

POST
请求吗?还是会让人皱眉?

仅供参考——用户可以单击进入一个州并选择/取消选择特定城市。例如,某人可以点击

California
并取消选中
San Francisco
Los Angeles

api rest post get restful-url
1个回答
0
投票

请求 URI 不被视为标头,但您仍然可能会遇到限制。通常建议保持在 2048 字节以下。

如果您超出此范围,请切换到不同的 HTTP 方法(

QUERY
POST
)并使用请求正文。

© www.soinside.com 2019 - 2024. All rights reserved.