【问题标题】:Send longer parameters in HTTP GET request在 HTTP GET 请求中发送更长的参数
【发布时间】:2017-12-14 07:42:36
【问题描述】:

我正在尝试调用需要传递 lat、lon 值的 GET API

https://domainname.com/path?lat=39.0&lon=99.0&lat=23.50209&lon=78.85565&.... 1000 次

它在 300 次重复后仍能正常工作,但之后会出现错误提示 “400 Bad Request”

我可以将 API 更改为 POST 方法,但它违反了 REST API 资源概念,因为我们正在获取 lat 和 lon 的信息。所以应该是 GET。

关于如何解决这个问题的任何建议?我应该将其更改为 POST 或任何其他方式吗?

【问题讨论】:

    标签: rest post get restful-architecture


    【解决方案1】:

    首先,将 URL 保持在 2,000 个字符以内是一个很好的做法。

    所以,我的第一个问题是:真的有必要处理超过 300 次重复这些参数吗?有没有办法可以拆分服务/参数?

    如果这不可能(或没有意义),可能使用POST 对您有用。不要害怕违反规则,但不要无故违反。

    【讨论】:

    • 每个 lat,lon,height 为一个请求组成一个组。我需要发送 500 个位置的请求,即 500 纬度、500 经度和 500 高度。我无法将其拆分为服务参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 2017-04-21
    • 2017-06-23
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多