Как интегрировать простой биткойн API в приложение Rails
-
21-12-2019 - |
Вопрос
Я новичок в разработке API и Backeng в целом и в течение нескольких часов пытался на несколько часов, чтобы выяснить, как сделать что-то простое, как позвоните текущей рыночной цен на биткойн в мою приложение Rails.
Я попробовал ссылку на ссылку http://blockchain.info/ticker со следующим кодом в моей модели
require 'rest-client'
require 'json'
base_url = "http://blockchain.info/ticker"
response = RestClient.get base_url
data = JSON.load response
cool = data[0]["CNY"]
@test = JSON.pretty_generate cool
.
а затем поставить это на мой взгляд
<%= @test %>
.
Я знаю, что это выходит, но я в потере и понял, что увидим, что кто-то может предоставить хороший ресурс или, возможно, заставить меня идти в правильное направление.Большое спасибо
Решение
Чувак, все это работает хорошо.
Чтобы получить больше ручки, выполнить эти строки 1 на 1 в IRB,
Так же, как это,
1.9.3p385 :001 > require 'rest-client'
=> true
1.9.3p385 :002 > require 'json'
=> true
1.9.3p385 :004 > base_url = "http://blockchain.info/ticker"
=> "http://blockchain.info/ticker"
1.9.3p385 :005 > response = RestClient.get base_url
1.9.3p385 :006 > data = JSON.load response
1.9.3p385 :007 > cool = data["CNY"]
=> {"15m"=>5519.13613, "last"=>5519.13613, "buy"=>5578.16433, "sell"=>5853.54832, "24h"=>5616.47, "symbol"=>"¥"}
1.9.3p385 :008 > @test = JSON.pretty_generate cool
=> "{\n \"15m\": 5519.13613,\n \"last\": 5519.13613,\n \"buy\": 5578.16433,\n \"sell\": 5853.54832,\n \"24h\": 5616.47,\n \"symbol\": \"¥\"\n}"
1.9.3p385 :009 > p @test
"{\n \"15m\": 5519.13613,\n \"last\": 5519.13613,\n \"buy\": 5578.16433,\n \"sell\": 5853.54832,\n \"24h\": 5616.47,\n \"symbol\": \"¥\"\n}"
=> "{\n \"15m\": 5519.13613,\n \"last\": 5519.13613,\n \"buy\": 5578.16433,\n \"sell\": 5853.54832,\n \"24h\": 5616.47,\n \"symbol\": \"¥\"\n}"
. Другие советы
Я бы порекомендовал вам использовать httparty , который делает отправку запросов намного проще. Что касается вашего примера, вы можете сделать
require 'httparty'
require 'json'
base_url = "http://blockchain.info/ticker"
response = HTTParty.get(base_url)
data = JSON.parse(response.body)
data.each_pair do |ticker, stats|
pp "Ticker: #{ticker} - 15m: #{stats['15m']}"
end
.
Очевидно, что я PP (печать) из строки, чтобы показать данные.Вы на самом деле сделали данные по мнению, если вы делаете реальную реализацию.