RailsからAPIを叩くためにactive-rest-clientというGemを使ってみました。
使い勝手はActiveResourceに近いものでした。
インストールはいつものようにBundlerを使います。
gem 'active_rest_client'
データ取得/更新の為には、下記のようにModelを作成します。
class User < ActiveRestClient::Base base_url 'http://localhost:3000' get :all, "/users" get :find, "/users/:id" post :create, "/users" end
実際に取得/更新する処理は下記の通りです。
User.all # → GET http://localhost:3000/users User.find(1) # → GET http://localhost:3000/users/1 User.find(id: 1) # → GET http://localhost:3000/users/1 User.create(name: "AAA") # → POST http://localhost:3000/users
JSONレスポンスを自動的にプロパティーにセットしてくれます。
user = User.find(1) # レスポンス…{id: 1, name: 'john', tags: [1, 2, 3]} user.id # → 1 user.name # → john user.tags # → [1, 2, 3]
引数にハッシュを渡す事でパラメータを付けれます。
User.find(id: 1, page: 1, limit: 10) # → GET http://localhost:3000/users/1?page=1&limit=10