Spring Boot入門|REST APIを作って学ぶ基礎と実践ステップ

Java

Spring Boot入門|REST APIを作って学ぶ基礎と実践ステップ

「Javaを使ってWeb APIを作ってみたい」「Spring Bootって聞いたことはあるけど何から始めれば?」
そんな方のために、この記事ではSpring Bootの基礎からREST API開発まで、わかりやすく解説していきます。



スポンサーリンク

Spring Bootとは?

Spring Bootは、Javaの人気フレームワークであるSpring Frameworkをより使いやすく、素早く開発できるように設計されたオープンソースのフレームワークです。従来のSpring Frameworkは非常に柔軟かつ強力ですが、その分設定ファイルや初期設定が複雑で初心者にはハードルが高いという課題がありました。

そこで登場したSpring Bootは、こうした設定の煩雑さを大幅に軽減し、「設定よりも実装に集中できる」環境を提供します。具体的には、以下のような特徴があります。

  • 自動設定(Auto-Configuration):開発者が特別に設定しなくても、環境に応じてSpringの設定を自動的に行います。これにより、面倒なXML設定やJava設定が大幅に削減されます。
  • 組み込みサーバーの搭載:TomcatやJettyなどのWebサーバーを内蔵しており、外部サーバーの設定やデプロイなしに簡単にアプリケーションを起動できます。
  • スターター依存関係(Starter Dependencies):プロジェクトに必要な機能ごとにまとめられた依存関係を使うことで、必要なライブラリを簡単に追加できます。
  • コマンドラインやIDEからの簡単起動:一行のコマンドやIDEの実行ボタンで開発中のアプリケーションを立ち上げられます。
  • プロダクションレベルの機能搭載:監視やメトリクス収集など、運用に役立つ機能も標準で備えています。

これらにより、Spring Bootは小規模なAPIサーバーから大規模なマイクロサービスまで幅広く対応可能であり、JavaエコシステムでのモダンなWebアプリケーション開発を加速させる重要な技術として、世界中の開発者に支持されています。


REST APIとは?

REST API(レスト・エーピーアイ)とは、Web上でデータや機能をやり取りするための仕組みの一つです。初心者でもわかりやすく言うと、スマホアプリやWebサイトがサーバーと会話するためのルールのことです。

RESTは「Representational State Transfer」の略で、インターネットの仕組み(HTTP)を使って情報をやり取りします。APIは「Application Programming Interface」の略で、アプリやシステム同士が情報をやりとりするための窓口を意味します。

REST APIの基本的な考え方

  • リソース(資源)をURLで指定する
    例えば「ユーザー情報」は https://example.com/users というURLで表現します。
  • HTTPメソッドを使って操作を指定する
    GET:データを取得する
    POST:新しいデータを作る
    PUT:既存のデータを更新する
    DELETE:データを削除する
  • データのやり取りは主にJSON形式
    人間にも読みやすく、機械で処理しやすい軽量なテキスト形式です。

このようにREST APIは、誰でもわかりやすく、標準的なルールに沿ってシステム間の情報交換を行う方法として、現代のWebサービスやアプリ開発で広く使われています。


開発環境の準備

必要なツール:

  • Java(JDK 17推奨)
  • IDE(IntelliJ IDEA, Eclipse など)
  • Spring Initializr(https://start.spring.io)

プロジェクト構成(例):

src/
 └─ main/
     ├─ java/com/example/demo/
     │   ├─ controller/
     │   ├─ service/
     │   └─ model/
     └─ resources/
         └─ application.properties

Spring BootでREST APIを作る手順

1. Spring Initializrでプロジェクト作成

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.x系
  • Dependencies: Spring Web, Spring Boot DevTools

2. Hello WorldのAPIを作成

HelloController.java

package com.example.demo.controller;

import org.springframework.web.bind.annotation.*;

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

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

3. アプリケーション起動と動作確認

Spring BootプロジェクトをIDEから実行し、以下のURLへアクセス:
http://localhost:8080/api/hello

→ 「Hello, Spring Boot!」 と表示されれば成功!


実践:データモデルとサービスの追加

モデルクラス(User.java)

package com.example.demo.model;

public class User {
    private Long id;
    private String name;
    private String email;

    // getter, setter 省略
}

APIでUser情報を返す

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

    @GetMapping
    public List<User> getUsers() {
        List<User> list = new ArrayList<>();
        list.add(new User(1L, "Taro", "taro@example.com"));
        return list;
    }
}

注意点:初心者がつまづきやすいポイント

  • ポート番号の競合(デフォルトは8080)
  • クラスやメソッドに正しいアノテーションが付いていない
  • 依存ライブラリのバージョン不一致

よくある質問(FAQ)

Q. Spring Bootのプロジェクトが起動しないときは?

A. application.propertiesのポートや依存関係を確認してください。また、IDEのビルドエラーがないかも重要です。

Q. JSONではなくXMLで返すには?

A. @RestControllerで返すデータの形式は、依存するライブラリによって変わります。XMLを有効にするには依存関係にJackson XMLなどを追加します。


まとめ:Spring BootでREST API開発を始めよう!

Spring Bootを使えば、少ないコードで本格的なWeb APIが構築できます。Javaに慣れている方はもちろん、Java初心者でもIDEとSpring Initializrを活用すれば簡単に入門可能です。


スポンサーリンク

Java
99blog

コメント

タイトルとURLをコピーしました