JavaでREST APIを作る|Spring Boot × JSON連携の基本

Javaで「APIサーバーを作って、クライアントからJSONでアクセスできるようにしたい!」
そんなときに便利なのが、Spring Bootを使ったREST API構築です。

この記事では、初心者でも理解できるように、REST APIの基本と作り方を解説します。


この記事でわかること

  • REST APIとは何か、どんなときに使うのか
  • Java(Spring Boot)でREST APIを作る手順
  • JSON形式でデータをやり取りするコード例
  • PostmanなどでAPIをテストする方法

1. REST APIとは?図解でサクッと理解

REST API(レスト エーピーアイ)とは、HTTPを使ってデータの送受信を行う仕組みです。特にフロントエンド(JavaScriptなど)や外部サービスと連携する際によく使われます。

REST APIのイメージ

[クライアント]
↓ HTTPリクエスト (GET/POSTなど)
[Spring BootのAPIサーバー]
↓ JSONレスポンス
[クライアント]

2. 開発環境の準備

必要なツール

ツール推奨バージョン
Java17以上
Spring Boot3.x系
ビルドツールMaven or Gradle
IDEIntelliJ IDEA, Eclipseなど

Spring Bootプロジェクト作成(Spring Initializr)

https://start.spring.io/ にアクセスし、以下を選択

  • Project: Maven
  • Language: Java
  • Dependencies
    • Spring Web
    • Spring Boot DevTools(任意)

3. REST APIの基本コード

以下のような簡単なAPIを作成します

@RestController
@RequestMapping("/api")
public class HelloController {

    @GetMapping("/hello")
    public Map<String, String> sayHello() {
        Map<String, String> response = new HashMap<>();
        response.put("message", "こんにちは、Spring Boot!");
        return response;
    }
}

@RestControllerを使うことで、自動的にJSONでレスポンスが返されます。


4. JSONの受け取りと返却(POSTの例)

@RestController
@RequestMapping("/api")
public class UserController {

    @PostMapping("/user")
    public User registerUser(@RequestBody User user) {
        // JSONで受け取ったUserオブジェクトをそのまま返す
        return user;
    }
}

User.java(データモデル)

public class User {
    private String name;
    private int age;

    // getter/setter省略可(Lombokを使ってもOK)
}

@RequestBodyを使うと、クライアントから送られたJSONがJavaオブジェクトに自動変換されます。


5. 実行とAPIテスト(Postmanを使用)

Spring Bootアプリを実行後、以下のようにPostmanなどでテストできます。

GETリクエスト例

  • URL: http://localhost:8080/api/hello
  • メソッド: GET
  • レスポンス例(JSON)
{
  "message": "こんにちは、Spring Boot!"
}

POSTリクエスト例

  • URL: http://localhost:8080/api/user
  • メソッド: POST
  • Body → JSON(raw)
{
  "name": "田中太郎",
  "age": 30
}

6. よくあるエラーと対処法

エラー内容原因解決策
404 Not Foundパスが間違っている@RequestMappingやURLを再確認
JSON変換に失敗Getter/SetterがないgetXxx()/setXxx()を定義
CORSエラー(フロント連携)外部サイトからのリクエスト@CrossOrigin をコントローラに追加

まとめ:Spring Boot × REST APIの基礎

やりたいことキーワード
JSONでデータを返したい@RestController
JSONを受け取りたい@RequestBody
URLルーティングを設定したい@GetMapping / @PostMapping

Spring Bootなら、わずか数行でREST APIが構築できます。フロントエンドや他システムとの連携もスムーズです。

補足:本記事のサンプルプロジェクト構成(Maven)

cssコピーする編集するsrc/
└─ main/
   ├─ java/
   │   └─ com.example.api/
   │       ├─ HelloController.java
   │       └─ UserController.java
   └─ resources/
       └─ application.properties
タイトルとURLをコピーしました