2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PostmanAdvent Calendar 2024

Day 2

【アドベントカレンダー2024】API初心者がPostmanを触ってみた!

Last updated at Posted at 2024-12-01

いつも記事を読んでいただきありがとうございます!
モブエンジニア(@mob-engineer)です!

今回は、Postman Advent Calendar 2024の企画として「API初心者がPostmanを触ってみた!」について記事を執筆いたしました。

最後まで読んでいただけますと幸いです。

Postmanに関する紹介記事となります。API初心者の視点でPostmanの触り心地開発での利用シーンについてまとめております。初見の読者の方でも理解できるように平易な表現で記載していますが、わかりづらいところがあれば、コメントなどをいただけると幸いです。

目次

  1. 読んでもらいたい読者層
  2. なぜ、Postmanを触ろうと思ったのか?
  3. Postmanとは何か?
  4. Postmanを触ってみた
  5. Postmanを触ってみた感想
    1. 良かったところ
    2. 改善したほうがいいところ
  6. まとめ
  7. Postman学習に役立つ参考サイト

読んでもらいたい読者層

次のような悩みを抱えている読者の方にお役立ていただければ幸いです。

  1. Postmanの基本的な利用方法について知りたい方

なぜ、Postmanを触ろうと思ったのか?

現在、社内プロジェクトでFlaskを活用してAPI開発を行っているのですが、そのなかでAPI機能を味見するためのツールはないかといった疑問を抱き、調べた結果、Postmanにたどり着きました。(プロジェクト内では、安定と信頼のSwaggerを活用しています)

また、自身の開発者としてのスキル向上Postman活用時の備忘録といった意味合いも持っています。

Postmanとは何か?

ググってみた結果、次のような結果が出てきました。

APIのエンドポイントを呼び出し、リクエストを送信し、レスポンスを受け取り、解析するための簡単で直感的なインターフェイスを提供するツール

要するに、Curlを使わずに、GUI経由でAPIの機能を味見できるツールと思っていただければ幸いです。

Postmanを触ってみた

アカウント作成方法については以下サイトに分かりやすくまとめられていましたので、そちらをご確認ください。

https://www.tairaengineer-note.com/postman-create-account/

アカウント作成直後のワークスペースについては以下の通りでした。

image.png

作成時は何も入っていないので、お手軽にAPIを検証できるPostman Echoをフォークしてみようと思います。

  • 画面上部の検索ボックスにPostman Echoを入力し、検索結果をクリック

image.png

  • 右側上部にある、フォークをクリック

image.png

  • フォークラベルに任意の名前を入力しコレクションをフォークボタンをクリック

image.png

  • 自分のワークスペースにPostman Echoが反映されていることを確認

image.png

とりあえず、適当なAPIを叩いてみましょう。

  • GET Request

image.png

  • レスポンス
{
    "args": {},
    "headers": {
        "host": "postman-echo.com",
        "x-request-start": "t=1732453503.062",
        "connection": "close",
        "x-forwarded-proto": "https",
        "x-forwarded-port": "443",
        "x-amzn-trace-id": "Root=1-6743247f-4f9e222476c64a802eac9420",
        "user-agent": "PostmanRuntime/7.42.0",
        "accept": "*/*",
        "cache-control": "no-cache",
        "postman-token": "e5f00a77-9ba2-43eb-8234-5a6232802e0c"
    },
    "url": "https://postman-echo.com/get"
}
  • POST Form Data

image.png

  • レスポンス
{
    "args": {},
    "data": "",
    "files": {},
    "form": {
        "foo1": "bar1",
        "foo2": "bar2"
    },
    "headers": {
        "host": "postman-echo.com",
        "x-request-start": "t=1732453621.998",
        "connection": "close",
        "content-length": "19",
        "x-forwarded-proto": "https",
        "x-forwarded-port": "443",
        "x-amzn-trace-id": "Root=1-674324f5-3b7e5e3c463ff1ae6c5ebbf7",
        "user-agent": "PostmanRuntime/7.42.0",
        "accept": "*/*",
        "cache-control": "no-cache",
        "postman-token": "94aa56a4-b16c-442e-b9b4-019fc4a2d9fa",
        "accept-encoding": "gzip, deflate, br",
        "cookie": "sails.sid=s%3AAT2ZQ-EvprxOa92A_YUjqDimyZ8k9W4U.cDz7BCsHxZH2qhj8is2%2BVJkmU0yXnepJmL7D1TsYpDE",
        "content-type": "application/x-www-form-urlencoded"
    },
    "json": {
        "foo1": "bar1",
        "foo2": "bar2"
    },
    "url": "https://postman-echo.com/post"
}
  • PUT Request

image.png

  • リクエスト
{
    "args": {},
    "data": "This is expected to be sent back as part of response body.",
    "files": {},
    "form": {},
    "headers": {
        "host": "postman-echo.com",
        "x-request-start": "t=1732453689.832",
        "connection": "close",
        "content-length": "58",
        "x-forwarded-proto": "https",
        "x-forwarded-port": "443",
        "x-amzn-trace-id": "Root=1-67432539-27b3842c313e0b962aea59ee",
        "content-type": "text/plain",
        "user-agent": "PostmanRuntime/7.42.0",
        "accept": "*/*",
        "cache-control": "no-cache",
        "postman-token": "7ac13bc6-012a-42f3-a0da-c0c6dad09c4e",
        "accept-encoding": "gzip, deflate, br",
        "cookie": "sails.sid=s%3A4-JsDZ7146WF0axZeK2Arm8t3dO2WSR3.2bWBgyb7PteXwAhsREoDvQim695hAO8iVFPeVwrgSAE"
    },
    "json": null,
    "url": "https://postman-echo.com/put"
}
  • DELETE Request

image.png

  • レスポンス
{
    "args": {},
    "data": "This is expected to be sent back as part of response body.",
    "files": {},
    "form": {},
    "headers": {
        "host": "postman-echo.com",
        "x-request-start": "t=1732453737.132",
        "connection": "close",
        "content-length": "58",
        "x-forwarded-proto": "https",
        "x-forwarded-port": "443",
        "x-amzn-trace-id": "Root=1-67432569-665a8ec35528fa7a3d1f5c5f",
        "content-type": "text/plain",
        "user-agent": "PostmanRuntime/7.42.0",
        "accept": "*/*",
        "cache-control": "no-cache",
        "postman-token": "701d068c-fd40-4dd1-8aef-2d26415d79c7",
        "accept-encoding": "gzip, deflate, br",
        "cookie": "sails.sid=s%3A4-JsDZ7146WF0axZeK2Arm8t3dO2WSR3.2bWBgyb7PteXwAhsREoDvQim695hAO8iVFPeVwrgSAE"
    },
    "json": null,
    "url": "https://postman-echo.com/delete"
}

また、Postman Echoの構成を見てみると、API設計で必要な認証ストリーム処理など一通りそろっているようなので、最初のうちは、眺めるだけでも勉強になると思います。

また、企業が公開しているAPIなどもフォークして利用可能なので、開発中のプロダクトとの連携時の挙動調査でも活用できるのかなぁと思います。

  • 公開しているAPI画面

image.png

Postmanを触ってみた感想

良かったところ

個人的に触ってみて良かったところとして次がありました。

  • 公式でもチュートリアルドキュメントがある
  • Postman上でフォークしてAPIの味見ができる(Gitでの処理がいらない)
  • GUI操作のため、API実行に対する抵抗感が少ない
  • 企業が公開しているAPIがそろっている

改善したほうがいいところ

  • 公式ドキュメントが英語のみとなっている
  • ベーシックプランだと基本機能しか試せない(エンプラ向けだと、一人当たり月50ドル)
  • 個人的にSwaggerの方が見やすい(慣れもあるかと思うが)

正直、Postmanを利用したことがないのでざっとした感想しか思いつかなかったが、使いこなせば、いい感じのAPI開発に役立つのかなぁと思いました。

色々調べてみると、学習サイトなどもあるようなので、引き続きキャッチアップしていきたいと思いました。

Postman学習に役立つ参考サイト

Postman公式ドキュメント
Postmanコミュニティ
Postman で API Document を作る

※Postmanに直結するわけでないが、APIの基本を学ぶ上で以下コンテンツは活用できるかと思います。

REST WebAPI サービス 設計
Web API: The Good Parts

最後まで記事を読んでいただきありがとうございます。
本記事が、読者の皆さんにとってお役に立っていただければ幸いです。

引き続き、技術系の記事を執筆いたしますので、温かい目で読んでいただますと幸いです。

2
0
0

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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?