Мне нужно разработать небольшое приложение Rails, которое делает запрос на API JSON, вводя параметры в исходную форму, проверяем, получим ли мы реальный ответ, а затем визуализируем результаты в виде (html.erb).Приложение для запроса API JSON (рельсы), результаты рендеринга
Вы знаете, где я могу получить хороший материал, чтобы сделать эти шаги? Любая помощь приветствуется.
Я читаю некоторый ряд примера:
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"]
Всегда ли необходимый для кодирования строки параметров, когда вы делаете запрос HTPP в Net ::? Есть ли другой способ?
Что именно params_string += "&hashkey=#{hashkey}"
?
Спасибо!
Вопрос о Typhoeus: Могу ли я использовать «response.body» из Typhoeus так же, как я использую 'res.body', используя NET :: HTTP? Я имею в виду, из моего примера выше, мне просто нужно переключить эту строку: res = Net :: HTTP.get_response ("api.somecompany.com", "/some/url.json?#{params_string} ") Как будет использоваться код Typhoeus? –
Typhoeus README довольно полно для этой информации. Вы можете использовать объект 'Typhoes :: Request', который вы ставите в очередь в экземпляре' Typhoeus :: Hydra', а затем запускаете. Или вы можете использовать «быстрый» способ с помощью 'res = Typhoeus :: Request.get (url, ...)'. В любом случае, как только вы получили ответ, вы можете использовать 'reponse.body' так же, как вы его используете прямо сейчас. – ksol