動かざることバグの如し

近づきたいよ 君の理想に

Rubyのrest-clientの使い方

環境

rest-clientとは

rest-client/rest-client: Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.

rest-client は、RubyでRESTful APIを簡単に扱うためのライブラリです。GETやPOSTメソッドを使用して、Web APIと通信することができます。今回は、初心者向けに rest-client の使い方を分かりやすく解説します。

rest-clientのインストール方法 rest-client をインストールするには、以下のコマンドを実行します。

GET

GETメソッドでパラメータを付けてリクエストを送る場合、以下のサンプルコードを参考にしてください。

require 'rest-client'
require 'json'

url = 'https://api.example.com/users'
params = {
  name: '山田太郎',
  age: 30
}

response = RestClient.get(url, params: params)

puts JSON.parse(response.body)

実行結果

{
  "id": 1,
  "name": "山田太郎",
  "age": 30
}

POST

POSTメソッドでパラメータを付けてリクエストを送る場合、以下のサンプルコードを参考にしてください。

require 'rest-client'
require 'json'

url = 'https://api.example.com/users'
params = {
  name: '山田太郎',
  age: 30
}

response = RestClient.post(url, params)

puts JSON.parse(response.body)
{
  "id": 1,
  "name": "山田太郎",
  "age": 30,
  "created_at": "2023-03-21T12:34:56.789Z"
}

タイムアウトを設定する場合

rest-client でタイムアウトを設定する場合、以下のサンプルコードを参考にしてください。

require 'rest-client'
require 'json'

url = 'https://api.example.com/users'
params = {
  name: '山田太郎',
  age: 30
}
options = {
  timeout: 5 # タイムアウトを5秒に設定
}

response = RestClient::Request.execute(method: :get, url: url, headers: {params: params}, **options)

puts JSON.parse(response.body)

注意点、補足

  • rest-client を使用する際は、必ず require 'rest-client' と記述してライブラリを読み込んでください。
  • リクエストの結果は response に格納されますが、そのままでは文字列として扱われるため、JSON形式に変換するには JSON.parse(response.body) を使用してください。