LoginSignup
61
65

More than 5 years have passed since last update.

RubyのFaradayというHTTP Clientが良さそう

Posted at

JSONを返すAPIを作っていて、APIを実際に叩いてみるのに何かいいものはないかと思い、FaradayというHTTPクライアントライブラリが良さそうだったので使ってみた。使用するミドルウェアの設定やリクエスト、レスポンスを宣言的に記述することができて、すっきりと書ける感じ。また、FaradayMiddleware::ParseXmlやFaradayMiddleware::ParseJsonを使えば結果のXMLやJSONをHashに変換することができるので、結果を使った処理をする前に自前で変換書かなくてもいいのが良い。OAuthにも対応していたり、他にも色々と便利そう。

apirunner.rb
require "rubygems"
require "faraday"
require "faraday_middleware"
require "pp"

conn = Faraday::Connection.new(:url => 'http://example.com') do |builder|
  builder.request :url_encoded
  builder.response :logger
  builder.response :xml,  :content_type => /\bxml$/
  builder.response :json, :content_type => /\bjson/
  builder.adapter Faraday.default_adapter
end

#GET  http://example.com/foo/bar?limit=100
response = conn.get do |req|
  req.url '/foo/bar'
  req.params['limit'] = 100 
end
puts response.body["hoge"][0]["hage"]
61
65
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
61
65