■ はじめに
Web APIは、異なるシステム間でデータをやり取りするためのインターフェースです。 特にREST API(Representational State Transfer API)は、拡張性の高さから幅広く利用されています。 この記事ではAPIのとはなにかやREST APIの仕組み、実際に簡単なAPIの作成と利用方法を解説します。
■ 目次
1. [APIとは?](#1-apiとは) 2. [REST APIの基本](#2-rest-apiの基本) 3. [REST APIのHTTPメソッド](#3-rest-apiのhttpメソッド) 4. [Spring Bootを使用したREST APIの作成例](#4-spring-bootを使用したrest-apiの作成例) 5. [まとめ](#5-まとめ)
1. APIとは
#### APIの定義 APIは **Application Programming Interface** の略で、ソフトウェア同士がやり取りをするためのインターフェースを意味します。 このAPIを利用することで、異なるシステムやアプリケーション間で情報を簡単に連携することが可能です。
APIの利用例
- Google Maps API を使って地図情報を表示
- Twitter API (※無料プランは2023年2月に廃止) でツイートを自動投稿
- OpenWeather API で天気情報を取得
2. REST APIの基本
RESTの基本
RESTは、Representational State Transfer の略で、シンプルな設計に基づいてWebサービスを構築するアーキテクチャスタイルです。
REST APIには、以下のような特徴があります。
- ステートレス: サーバーはクライアントの状態を保存しない。(リクエストごとに独立)
- リソース指向: 各APIエンドポイントは、特定のリソース(例:ユーザー、商品)に対応。
- HTTPメソッド: GET、POST、PUT、DELETEといったHTTPメソッドを使用。
3. REST APIのHTTPメソッド
REST APIでは、以下のようなHTTPメソッドを使ってリソースに対する操作を行います。
メソッド | 説明 | 例 |
---|---|---|
GET | リソースの取得 | ユーザーID 1を取得 (GET) |
POST | 新しいリソースの作成 | ユーザーを作成 (CREATE) |
PUT | リソースの更新 | ユーザーID 1を更新 (UPDATE) |
DELETE | リソースの削除 | ユーザーID 1を削除 (DELETE) |
HTTPメソッドには上記以外にもPATCHなどもある。
4. Spring Bootを使用したREST APIの作成例
環境セットアップ
Java Development Kit (JDK) をインストール(JDK 17を推奨)
Maven をインストール(Mavenは依存関係管理に使用)
プロジェクトの作成
次に、Spring Initializr を使ってプロジェクトを作成します。
手順は以下の通りです。
Spring Initializr にアクセスします。
プロジェクトの設定
プロジェクトの設定 | 設定 |
---|---|
Project | Maven Project |
Language | Java |
Spring Boot | 最新のバージョンを選択 |
Project Metadata | Group: com.example Artifact: demo |
Dependencies | Spring Web |
「Generate」をクリックしてプロジェクトをダウンロードします。
ダウンロードしたZIPファイルを解凍し、任意のIDE(例:Eclipse)で開きます。
コードの追加
例としてプロジェクト内のsrc/main/java/com/example/demoに移動し、
UserController.javaという新しいファイルを作成し、以下のコードを追加します。
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;
@RestController
public class UserController {
// ユーザーのリストを返すメソッド
@GetMapping("/users")
public List<User> getUsers() {
return Arrays.asList(
new User(1, "Test Taro"),
new User(2, "Test Hanako")
);
}
}
// ユーザークラス
class User {
private int id;
private String name;
public User(int id, String name) {
this.id = id;
this.name = name;
}
// idを取得
public int getId() {
return id;
}
// nameを取得
public String getName() {
return name;
}
}
アプリケーションの起動
メインメソッドのあるDemoApplication.javaを実行することで、アプリケーションが起動します。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
APIを実行する
アプリケーションを起動したらブラウザまたはPostmanを使って
http://localhost:8080/users にアクセスします。
アクセスが成功すると次のようなJSONデータが返ってくるはずです。
[
{"id": 1, "name": "Test Taro"},
{"id": 2, "name": "Test Hanako"}
]
5. まとめ
本記事ではSpring Bootを使ってAPIを作成し、リクエストを送信するところまで作成しました。 Spring Bootは柔軟なフレームワークであり扱いやすいため、ぜひ試してみてください。