微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 如何检查HTTParty生成的完整URL?

我想查看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"

原文地址:https://www.jb51.cc/ruby/266782.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐