我需要开发一个小型Rails应用程序,该应用程序向JSON API发出请求,将参数引入初始表单,检查我们是否获得真实响应,然后将结果呈现到视图中(html.erb)。 / p>
你知道我在哪里可以获得这些步骤的好材料吗?欢迎任何帮助。
我正在阅读一些近似的例子:
params_string = "whatever"
params_string_with_api_key = params_string + "&" + @@API_KEY
hashkey = Digest::SHA1.hexdigest(params_string_with_api_key)
params_string += "&hashkey=#{hashkey}"
res = Net::HTTP.get_response("api.somecompany.com", "/some/url.json?#{params_string}")
res_sha1 = Digest::SHA1.hexdigest(res.body + @@API_KEY)
@verified = res["X-Somecompany-Response-Signature"] == res_sha1
parsed_json = ActiveSupport::JSON.decode(res.body)
@results = parsed_json["results"]
在执行Net :: HTPP请求时,是否始终需要对参数字符串进行编码?还有另一种方式吗?
究竟是什么params_string += "&hashkey=#{hashkey}"
?
谢谢!
答案 0 :(得分:0)
params_string + =“& hashkey =#{hashkey}”是什么?
params_string
是一个看起来像?param1=val¶m2=val2...
的字符串。你的最后一段代码只是在字符串中添加另一个参数。如果您的问题与#{}
片段有关,则此语法在ruby双引号字符串中允许您使用var的值。
在执行Net :: HTPP请求时,是否始终需要对参数字符串进行编码?还有另一种方式吗?
我没有看到这里编码的参数字符串。我所看到的只是检查结果,通过比较响应头和SHA1响应体来完成。
与你的问题没有关系:我一段时间就离开了Net :: HTTP,遇到了段错误的问题。我现在通过网络对所有请求使用Typhoeus。