【发布时间】:2015-06-25 09:41:27
【问题描述】:
我在 PHP Restful API 中遇到问题...
我正在尝试通过调用此 API 来获取一些产品信息(重量、工艺、价格...)。
问题在于提供的 URI 可能包含很多字符,因为我们试图尽可能少地调用 API。
如你所见,如果我们使用 HTTP GET 方法发送的 URI 太长,我肯定会以 414 或 500 HTTP ERROR 结束。
那么我们该怎么做:
- 发送 HTTP GET 请求以获取具有长 URI 的信息
- 保持 RESTFUL(不使用 POST,就像我参考 Restful 文档一样 -> 这是主要问题)
这是一个请求示例:
http://<myWebsite>/rprocess/api/process/{"data":["FLY.DELeco.LOT100.DIM10x10.FACrv.SUPdemma.GRA350.PELbrv.VERss","FLY.DELnor.LOT500.DIM20x30.FACr.SUPcoubr.GRA300.PELbrv.VERss"]}
- 如您所见,我们在 URI 中发送 JSON 编码字符串。
- 此示例有效,因为我们只尝试获取两种产品的 [处理] 信息(我们希望调用更多产品)
我已经搜索过这个问题的答案,但在这种情况下我们似乎无法保持平静。
以下是我找到的答案:
- 使用 POST 并将设置标题添加到
X-HTTP-Method-Override: GET - 增加服务器上的
url limit size(不推荐) - 拆分 GET 请求以免达到 url 长度限制(这不是一个好主意,因为 API 可以一次处理更多产品,因为我们实际上可以发送它......)
我希望这些信息可以帮助你回答我的问题:)
感谢您的帮助
【问题讨论】:
标签: php json rest get restful-url