Postmanで画面を使わずにAPIを確認する方法!初心者向けにやさしく解説
新人
「先輩、Springで作ったAPIって、画面がないのにどうやって動かして確認するんですか?」
先輩
「いい質問だね。実はAPIって、画面がなくてもHTTPリクエストを送れば確認できるんだ。」
新人
「えっ、リクエストってどうやって送るんですか?ブラウザでURLを叩けばいいんですか?」
先輩
「GETリクエストならそれでもいいけど、POSTやPUT、JSONの送受信になるとちょっと難しい。そういうときに便利なのがPostmanっていうツールなんだ。」
新人
「Postman…?聞いたことありますけど、使ったことはなくて…」
先輩
「それじゃあ、画面を使わないAPI確認って何なのか、そしてなぜPostmanが必要なのかを順番に説明するよ。」
1. 画面を使わないAPI確認とは?
通常、Webアプリケーションではユーザーがブラウザからボタンをクリックしたり、フォームに入力したりして、フロントエンド画面を通じてサーバーと通信します。しかし、バックエンドのAPIは、フロント画面が完成していなくても単独で動作確認できます。
たとえば、Springで作成した@Controllerに@ResponseBodyを付けることで、直接JSONや文字列を返すことができます。このようなAPIは、HTTPリクエストを送信するだけで、サーバーが正しく応答しているかをチェックできます。
このように、画面(HTMLなど)を使わずに、APIのエンドポイントにアクセスしてレスポンスの内容を確認する方法が「画面を使わないAPI確認」です。
とくに以下のような場合に便利です:
- フロントエンドがまだ未完成のとき
- バックエンドのテストを個別に行いたいとき
- データのやり取り(JSON形式など)を確認したいとき
たとえば、http://localhost:8080/api/hello にGETリクエストを送ると、以下のようなレスポンスが返ってくるAPIを作ることができます。
@Controller
public class HelloController {
@GetMapping("/api/hello")
@ResponseBody
public String hello() {
return "こんにちは、APIの世界へようこそ!";
}
}
このAPIは、画面がなくてもURLを叩くことでレスポンスを返してくれます。
2. なぜPostmanなどのツールが必要なのか?
たとえば、先ほどのようにGETリクエストだけなら、ブラウザにURLを入力するだけでも確認できます。でも、APIはそれだけではありません。
POSTリクエストでJSONデータを送信したいとき、PUTでデータを更新したいとき、DELETEで削除を試したいときなど、ブラウザだけではできない操作がたくさんあります。
そんなときに役立つのが、PostmanのようなHTTPクライアントツールです。Postmanを使えば、次のようなことが簡単にできます:
- リクエストの種類(GET/POST/PUT/DELETEなど)を自由に選べる
- リクエストヘッダーやボディにJSONデータを指定できる
- レスポンスのHTTPステータスコードや内容(JSONなど)を見やすく表示できる
たとえば、以下のようなJSONをPOSTリクエストで送る場合、Postmanを使えば直感的に入力して送信できます。
{
"name": "山田太郎",
"email": "taro@example.com"
}
このように、Postmanを使えば、Springで作ったAPIの動作確認を簡単に行えるのです。フロントエンドが未完成な開発初期でも、しっかりテストできるのが大きなメリットです。
3. Postmanの基本的な使い方(GETメソッドのリクエストを送ってみよう)
ここからは、初心者でもすぐに試せるGETメソッドの使い方をPostmanで実際に試してみましょう。Postmanは無料で使えるソフトウェアで、公式サイトからインストール可能です。
① Postmanを起動
Postmanをインストールしたら起動し、画面左上の「+」ボタンをクリックして新しいタブを開きます。
② リクエストの種類を選択
デフォルトでは「GET」になっていますが、別の種類に変更したい場合はプルダウンメニューから選べます。ここではそのままGETを使います。
③ URLを入力
入力欄に以下のようなURLを入力します(Spring Bootアプリケーションが立ち上がっていることが前提です)。
http://localhost:8080/api/hello
④ Sendボタンをクリック
「Send」を押すと、APIに対してHTTP GETリクエストが送信され、サーバーがレスポンスを返してくれます。
⑤ レスポンスを確認
画面下部の「Response」欄に、サーバーからの返答が表示されます。うまくいけば、次のようなテキストが返ってくるはずです。
こんにちは、APIの世界へようこそ!
このようにして、Postmanを使うことで、画面がなくても簡単にAPIの動作を確認できます。
4. Springの@ResponseBodyを使ってAPIレスポンスを返す方法
Springでは、@Controllerを使ってAPIのエンドポイントを定義できますが、HTMLではなく文字列やJSONを直接レスポンスとして返したい場合は@ResponseBodyが必要です。
通常の@Controllerは画面(HTML)を返すために使われますが、@ResponseBodyを付けることで、戻り値をそのままレスポンスのボディとしてクライアント(Postmanなど)に返せるようになります。
以下に、文字列を返すシンプルなサンプルを示します。
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@GetMapping("/api/hello")
@ResponseBody
public String hello() {
return "こんにちは、APIの世界へようこそ!";
}
}
このコードでは、@GetMappingによってGETリクエストを受け取り、helloメソッドで文字列を返しています。@ResponseBodyがあることで、この文字列がそのままレスポンスとして返されます。
このように、HTML画面を使わずにサーバーからレスポンスを返す場合には、@ResponseBodyがとても重要な役割を果たします。
5. 実際にPostmanでレスポンスが返ってくる流れを解説
それでは、実際にSpringで作成したAPIをPostmanで確認する一連の流れをまとめてみましょう。開発環境はpleiades + Gradle構成で進めています。
① サーバーを起動
まず、Spring Bootアプリケーションをpleiadesから起動します。mainメソッドを右クリックして「Spring Bootアプリケーションとして実行」を選びます。
② コントローラーの作成
プロジェクトの中にHelloControllerクラスを作成して、以下のようにコードを書きます。
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@GetMapping("/api/hello")
@ResponseBody
public String hello() {
return "こんにちは、Postmanからのリクエストを確認しました!";
}
}
③ Postmanで確認
- Postmanを開く
- HTTPメソッドを
GETに設定 - URLに
http://localhost:8080/api/helloを入力 - 「Send」ボタンをクリック
すると、下記のようなレスポンスが返ってきます。
こんにちは、Postmanからのリクエストを確認しました!
このように、Postmanを使えば、画面を使わなくてもAPIのレスポンスが正しく返ってくるかを確実に確認できます。特に初心者のうちは、画面に頼らず、HTTPリクエストとレスポンスのやり取りに慣れることがとても重要です。
また、@Controllerと@ResponseBodyの組み合わせで、HTML画面を返すのではなくJSONや文字列を直接返す設計にすることで、より柔軟なAPI開発が可能になります。
6. よくあるエラー(404、405、500など)とその対処方法
SpringでAPIを開発していると、Postmanでリクエストを送った際に思わぬエラーが発生することがあります。初心者が最もよく遭遇する代表的なHTTPステータスコードには、404、405、500などがあります。それぞれの原因と対処法を解説します。
■ 404 Not Found
このエラーは、指定したURLのパスがサーバー上に存在しない場合に発生します。たとえば、Postmanで/api/helloにアクセスしたつもりが、実際のマッピングが/api/hellooなど誤っているときです。
対処方法:
- URLのスペルミスがないか確認
@GetMappingや@PostMappingのパスが正しく設定されているか確認- ポート番号が
localhost:8080など正しいかもチェック
■ 405 Method Not Allowed
このエラーは、指定されたURLには存在するが、そのリクエストメソッドが許可されていないときに発生します。たとえば、@GetMappingに対して、PostmanからPOSTで送った場合などです。
対処方法:
- Postmanで指定しているHTTPメソッドが、Spring側で定義されているメソッドと一致しているか確認
@PostMappingにしているのに、GETで送っていないかチェック
■ 500 Internal Server Error
このエラーは、サーバー側で例外が発生したときに表示されます。たとえば、nullの変数に対して操作した場合や、想定外のデータが来たときなどです。
対処方法:
- コントローラー内で例外が発生していないかログを確認
- データの値や型に問題がないか確認
- returnする内容や
Mapなどの扱いに注意
7. リクエストパラメータをPostmanから送る方法と、Spring側で受け取る方法(@RequestParam)
次は、Postmanからパラメータを送って、SpringのAPIで受け取る方法を解説します。URLに?name=太郎のような形式で値を追加することで、Spring側で変数として取得できます。
■ Springのコード(@RequestParamの例)
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ParamController {
@GetMapping("/api/greet")
@ResponseBody
public String greet(@RequestParam String name) {
return name + "さん、こんにちは!";
}
}
このように、@RequestParamを使えば、Postmanから送ったクエリパラメータを受け取ることができます。
■ Postmanでの操作手順
- PostmanのHTTPメソッドを
GETに設定 - URLに次のように入力
http://localhost:8080/api/greet?name=山田 - 「Send」ボタンをクリック
■ サーバーからのレスポンス例
山田さん、こんにちは!
また、パラメータを複数渡す場合は、&で区切って次のように書きます。
http://localhost:8080/api/greet?name=佐藤&city=東京
このように、PostmanからのHTTPリクエストでパラメータ付きのAPI確認も簡単にできます。
8. 注意点と初心者へのアドバイス
APIをPostmanで確認するときに、初心者がつまずきやすいポイントや、気を付けておくと良い点をまとめて紹介します。
■ URLの指定ミスに注意
最も多いのが、URLのスペルミスや、ルートパスの付け忘れです。Springで/api/helloと設定しているのに、/api/heloと入力してしまうなど、ほんの小さな違いで404エラーになります。
■ HTTPメソッドの間違い
@GetMappingなのにPOSTで送ってしまったり、@PostMappingに対してGETでアクセスしてしまうと、405エラーになります。Postmanでメソッド選択を間違えないようにしましょう。
■ レスポンスの確認を丁寧に
Postmanでレスポンスが返ってきたときには、HTTPステータスコードやレスポンスボディ、ヘッダー情報も確認する癖をつけましょう。特に、200 OKになっているか、想定したJSON形式になっているかをチェックするのが大切です。
■ サーバーが起動していないと確認できない
意外と見落としがちですが、Spring Bootのサーバーが起動していないとPostmanで何を送ってもレスポンスは返ってきません。localhost:8080が動いているか常に確認しましょう。
■ Javaコードにエラーがあると500になる
もし何をやっても500エラーになる場合、Java側でnullの操作やListのindexエラーなどが起きていないか確認してみましょう。ログにエラー内容が出力されるので、そこから原因を追跡できます。