是否有任何Rest客户端可以发送除了cURL之外的消息体的GET Http请求? (Firefox,谷歌REST客户端不起作用)

时间:2015-09-04 22:01:55

标签: rest http httpclient

我有一个特殊要求,我必须传递一个复杂的JSON结构(Jobjects列表)来查询后端数据。拾取每个Jobject并形成条件字符串以搜索数据库,结果汇总并作为单个服务器响应发回。

虽然GET + Message正文工作 - 使用cURL对其进行测试,但我正在寻找一个更加用户友好的客户端来进行测试和验证。

1 个答案:

答案 0 :(得分:1)

引用RFC 7231,第4.3.1节:

  

GET请求消息中的有效负载没有定义的语义;     在GET请求上发送有效负载主体可能会导致一些存在     拒绝请求的实现。

RFC 7230的3.3节定义了:

  

请求中存在消息正文由a发出信号     Content-Length或Transfer-Encoding标头字段。请求消息     即使方法有效,框架也与方法语义无关     没有定义消息体的任何用途。

所以是的,GET请求可能有一个消息体。但只要你不能完全控制所有客户端,服务器和系统之间我就会建议不要使用它。很容易,可能有一个系统(可能是代理)不接受这些请求。

如果您可以访问所有系统:为什么不使用不同的HTTP动词发送它?