Postmanの使い方をわかりやすく解説

機能紹介

Postmanは主に開発者がWeb APIを作成する際にテストを行うために利用するツールである。Web APIの診断を行う際にはBurpとPostmanを組み合わせて利用することでより効率的に調査ができる。

Postmanでできること

項目説明
APIリクエスト送信例えばGET, POST, PUT, DELETEなど、あらゆるHTTPリクエストをGUIで簡単に送れる
レスポンス確認サーバーから返ってきたJSON、HTML、XMLなどをすぐ見られる
認証の設定APIキー、Bearerトークン、OAuth認証などもサポートしている
コレクション作成よく使うAPIをまとめて管理できる(グループ化、共有も簡単)
スクリプト実行リクエスト前後にテストコード(JavaScript)を組み込める
環境管理本番用、テスト用など環境ごとに変数を切り替えられる
APIドキュメント生成コレクションからそのままドキュメントを作る機能もある
モックサーバーAPIがまだ完成してない段階でもダミー応答を作れる

主な用途イメージ

  • APIが正しく動くかテストする
  • バックエンド開発者とフロントエンド開発者がAPIの受け渡し仕様を確認する
  • クライアント認証(APIキーやOAuth)付きのAPIに簡単にアクセスする
  • 本番環境と開発環境を環境変数で切り替えながらリクエストする
  • エンジニア同士でAPIコレクションを共有してチーム開発する

インストール

最新版をこちらよりダウンロードする。

本ドキュメントでは Postman for Chrome Version 5.5.6 OS X / x86-64 (旧版)を使用する。

ファイルのインポート

Swaggerについて
Swaggerは人間だけでなく機械がAPIの仕様を認識できるように構造的に記述される仕組みであり、フォーマットに従って入力することで洗練されたAPIの仕様書を簡単に作ることができる。

– 例: https://petstore.swagger.io/
– APIを診断する際には先方よりAPIの設計図がJSONもしくはYAML形式で渡されるため、PostmanでまずこれらをImportする。

Importの方法
– 起動後、左上のタブから「Import」を選択。下図のウィンドウが表示されたら、対象のAPI仕様書のフォルダ又はJSON, YAMLファイルを選択する。
– 今回はSwaggerのSampleを使用する。

左のサイドバーに対象のファイルが追加されていることを確認後、診断したいAPIを選択する。

APIの疎通テスト方法

対象となるURIが表示されたら、必ずHTTPリクエストメソッドがメインタブとサイドバーの両方で一致していることを確認してSendを押下する。下にResponseが表示される。

APIのテストが正しく通らない時に確認する項目

  • APIの仕様書とテストするAPIのHTTPリクエストメソッドが一致しているか
    • ダメな例:仕様書の定義ではPOSTメソッドであるのにGETメソッドでリクエストを送信
  • リクエストパラメータは適切か
    • ダメな例:上記画像のようにFind pet by IDではURIのpet/の末尾にIDが必要であるが、指定していない。
  • 認証を行なっているか
    • 診断対象のシステムは認証を必要とする場合がある。その場合はAuthorizationタブのTypeから認証方法を選択し、適切なパラメータを指定する。(下図画像はBasic認証の設定画面)
  • [ ] HTTPヘッダは適切か
    • APIによっては特定のヘッダ属性を設定していない場合にリクエストを弾く設定を行なっている場合がある。APIの定義を再確認し、Headersタブより属性を追加する。

  • [ ] (JSONデータをリクエストボディに含む場合) JSONの構造が壊れていないか
    • JSONのバリデータサイト https://jsonlint.com/ で確認する。下図の場合、17行目に「:」が抜けていたことが原因でJSONが壊れていたことがわかる。
    • 注意:このようなサイトでは入力されたJSONが悪意を持つ第三者のサーバーに送信され、API入力情報が流出してしまう懸念が考えられる。信頼できるサイトかどうか、クライアント上で動作が行われるかどうかについて確認を行う必要がある。
      • 最近ではVisual Studio Code等のエディタでバリデーションを行うことのできる拡張機能も存在するので、それらを利用することも一つの選択肢である。

まとめ

Postman = GUIでAPI開発・テスト・共有を超ラクにするツール。
開発、テスト、自動化、ドキュメント作成まで全部これ1つでできる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です