ruby-on-rails – 如何检查HTTParty生成的完整URL?
发布时间:2020-12-16 21:51:57 所属栏目:百科 来源:网络整理
导读:我想查看HTTParty宝石从我的参数中构建的完整URL,在提交之前或之后,没关系. 我也很乐意从响应对象中抓住这一点,但是我也看不到这样做. (背景的位) 我正在使用HTTParty gem构建API的包装器.这是广泛的工作,但偶尔我从远程站点得到一个意想不到的反应,我想挖掘
我想查看HTTParty宝石从我的参数中构建的完整URL,在提交之前或之后,没关系.
我也很乐意从响应对象中抓住这一点,但是我也看不到这样做. (背景的位) 我正在使用HTTParty gem构建API的包装器.这是广泛的工作,但偶尔我从远程站点得到一个意想不到的反应,我想挖掘为什么 – 我发送错误的东西?如果是这样,什么?我有什么不合格的要求吗?查看原始网址将有助于排除故障,但我看不到如何. 例如: HTTParty.get('http://example.com/resource',query: { foo: 'bar' }) 大概产生: http://example.com/resource?foo=bar 但是如何检查? 在一个例子中我做到了这一点: HTTParty.get('http://example.com/resource',query: { id_numbers: [1,2,3] } 但它没有奏效.通过实验,我能够产生这样的工作: HTTParty.get('http://example.com/resource',3].join(',') } 所以很明显,HTTParty的默认方式来形成查询字符串并不符合API设计者的首选格式.没关系,但确定需要什么是尴尬的. 解决方法
你没有通过你的例子中的基本URI,所以它不会工作.
纠正这个,你可以得到这样的整个URL: res = HTTParty.get('http://example.com/resource',query: { foo: 'bar' }) res.request.last_uri.to_s # => "http://example.com/resource?foo=bar" 使用类: class Example include HTTParty base_uri 'example.com' def resource self.class.get("/resource",query: { foo: 'bar' }) end end example = Example.new res = example.resource res.request.last_uri.to_s # => "http://example.com/resource?foo=bar" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |