REST API

API | IT用語集

この用語をシェア

REST APIとは

REST API(RESTful API)は、REST(Representational State Transfer)アーキテクチャ原則に基づいて設計されたAPIです。2000年にRoy Fieldingによって提唱されたアーキテクチャスタイルで、現在のWeb APIのデファクトスタンダードとなっています。

RESTの原則

1. ステートレス

サーバーは、クライアントの状態を保持しません。各リクエストは独立しており、必要な情報をすべて含む必要があります。

2. 統一インターフェース

HTTP メソッド(GET、POST、PUT、DELETE)を使用して、リソースに対する操作を統一的に表現します。

3. リソースベース

URL でリソースを特定し、HTTPメソッドでそのリソースに対する操作を表現します。

HTTPメソッドとCRUD操作

  • GET:リソースの取得(Read)
  • POST:リソースの作成(Create)
  • PUT:リソースの更新(Update)
  • DELETE:リソースの削除(Delete)

REST APIの利点

  • シンプルさ:HTTP を基盤とするため理解しやすい
  • スケーラビリティ:ステートレスなため水平スケーリングが容易
  • キャッシュ可能:HTTP キャッシュメカニズムを活用可能
  • 言語非依存:任意のプログラミング言語で実装可能

実装例

// ユーザー一覧取得
GET /api/users

// 特定ユーザー取得
GET /api/users/123

// 新しいユーザー作成
POST /api/users
{
  "name": "田中太郎",
  "email": "tanaka@example.com"
}

// ユーザー情報更新
PUT /api/users/123
{
  "name": "田中次郎",
  "email": "tanaka2@example.com"
}

// ユーザー削除
DELETE /api/users/123

ステータスコード

  • 200 OK:成功
  • 201 Created:作成成功
  • 400 Bad Request:リクエストエラー
  • 401 Unauthorized:認証エラー
  • 404 Not Found:リソースが見つからない
  • 500 Internal Server Error:サーバーエラー

関連技術

  • JSON:データ交換フォーマット
  • OAuth:認証・認可
  • OpenAPI:API仕様書
  • GraphQL:REST APIの代替技術

この用語についてもっと詳しく

REST APIに関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。

2025〜2026年の最新動向

2025年はgRPC、tRPCの台頭によりREST以外のAPI選択肢も増加。ただしREST APIは依然として最も広く使われており、AI/LLM APIもREST形式が主流です。

よくある質問(FAQ)

Q. REST APIの6つの制約とは?

A. クライアント・サーバー、ステートレス、キャッシュ可能、統一インターフェース、階層化システム、コードオンデマンド(オプション)の6つです。これらを守ることでスケーラブルで保守しやすいAPIになります。

Q. RESTful APIの認証方法は?

A. OAuth 2.0(標準的な認可フレームワーク)、JWT(トークンベース認証)、APIキー(シンプルだが安全性は低い)、Basic認証(開発時のみ推奨)が主な方法です。本番環境ではOAuth 2.0 + JWTの組み合わせが推奨されます。

Q. API設計で避けるべきことは?

A. 動詞をURLに含める(/getUsers → /users)、ネストが深すぎるURL、不適切なHTTPステータスコード、バージョニングの欠如、レスポンスの不統一が代表的なアンチパターンです。

外部リンク・参考資料

関連用語

GraphQL JSON HTTP JWT OAuth APIゲートウェイ

カテゴリ

API IT用語集