Petstore API:定番のOpenAPIサンプル
最も広く使用されているOpenAPIサンプル仕様であるPetstore APIを探索します。info、paths、schemas、responsesを含むOpenAPI 3.0ドキュメントの基本構造を学びます。
API Design Basics
詳細な説明
Petstore API仕様
Petstore APIはOpenAPIエコシステム全体で使用される定番のサンプルです。元々Swaggerチームによって作成され、ペットショップのペット管理というシンプルで理解しやすいコンテキストで、OpenAPI仕様のすべてのコア概念を示しています。
ドキュメント構造
すべてのOpenAPI 3.0ドキュメントは3つの必須セクションから始まります:
openapi: "3.0.3"
info:
title: Petstore API
version: "1.0.0"
paths:
/pets:
get:
summary: List all pets
- openapi — 仕様バージョン(3.0.xまたは3.1.x)
- info — タイトル、説明、バージョン、連絡先を含むメタデータ
- paths — 利用可能なエンドポイントとその操作
エンドポイント
Petstoreは通常これらの操作を定義します:
| メソッド | パス | 説明 |
|---|---|---|
| GET | /pets | オプションのlimit付きで全ペットを一覧表示 |
| POST | /pets | 新しいペットを作成 |
| GET | /pets/{petId} | IDでペットを取得 |
| DELETE | /pets/{petId} | ペットを削除 |
スキーマ
components/schemas セクションは再利用可能なデータモデルを定義します:
components:
schemas:
Pet:
type: object
required: [id, name]
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
スキーマはpathsセクション全体で $ref: "#/components/schemas/Pet" を使用して参照され、ドキュメントをDRYでメンテナンスしやすく保ちます。
なぜPetstoreから始めるのか
Petstoreは約100行のYAMLですべての基本的なOpenAPIパターンを示しています。パスパラメータ、クエリパラメータ、リクエストボディ、複数のレスポンスコード、スキーマ参照、コンポーネントの再利用をカバーしています。ほとんどのOpenAPIチュートリアルやツールのドキュメントがこれを出発点として使用しています。
ユースケース
Petstore API仕様はOpenAPIを学ぶための定番の出発点です。Swagger UI、Redoc、そして事実上すべてのOpenAPIツールでデフォルトのデモとして使用されています。API設計を学ぶ開発者、ドキュメントツールを評価するチーム、REST APIの概念を教える教育者がすべてこの仕様から始めます。