はじめに
最近、PostmanというAPIの開発をサポートしてくれるツールを知ったので使ってみようと思います。
Postmanとは
公式より
Postman は、 API を構築および使用するためのAPI プラットフォームです。Postman は、API ライフサイクルの各>ステップを簡素化し、コラボレーションを効率化することで、より優れた API をより迅速に作成できるようにします。
公式に書いてある通り、PostmanはAPIの開発やテスト等をサポートするツールです。
実際にAPIにGETやPOSTを行い、リクエストやレスポンスを受け取ることができます。
Postmanでrailsのcreateを行う
実際に、Postmanを使ってみようと思います。
Postmanをダウンロード
まずはPostmanをダウンロードします。
lightweight API clientで入る
lightweight API clientと表示されているところをクリックすると、アカウント作成なしでPostmanを使用できます。(アカウントなしの場合、一部機能が制限されています)
railsでcreateメソッドを実装する
scaffoldでusersテーブルとcontroller, view等を実装します。
rails g scaffold User name:string email:string
users_controller.rbに以下のコードが生成されていると思います。
# POST /users or /users.json
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to user_url(@user), notice: "User was successfully created." }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
外部でAPIをたたけるように、以下のコードを追加します。
これがないとCSRFトークンエラーでAPIを外部から実行できません。
class UsersController < ApplicationController
before_action :set_user, only: %i[ show edit update destroy ]
+ protect_from_forgery with: :null_session, only: [:create]
Postmanで設定を行う
以下のように、POSTでhttp://localhost:3000/users
をたたいてuserをcreateします。
HeadersでContent-Type: application/json
, Accept: application/json
を設定し、JSONでリクエストとレスポンスをできるようにします。
Bodyでrawを選択し、JSON選びます。
そして、以下のコードを入力します。
{
"name": "山田太郎",
"email": "sample@sample.com"
}
Sendをクリックし、POSTを実行
Sendボタンをクリックすると、jsonがレスポンスで返ってきます。
リクエストのjsonのnameやemailを変更し、Sendするとレコードを作成してくれるので、テストデータを作成するときなどに便利そうですね。
GETを実行する
GETでhttp://localhost:3000/users
をたたくと、usersテーブルのレコードすべてが返ってきます。
終わりに
Postmanを使用して、railsのcreateを実行してみました。
Postmanがどういうものか簡単ですが、分ったと思います。
変数設定やAPIのテストも行えるみたいなので、気になる方はやってみてください!
参考