APIGit
2023-06-15
OpenAPI仕様(OAS)は、APIを記述するための強力で標準化された方法を提供します。この仕様の最も価値のある機能の1つは、components
オブジェクトにより、API 全体でさまざまな要素を再利用できるようになり、一貫性が確保され、冗長性が削減されます。
のcomponents
オブジェクトには、スキーマ、パラメータ、応答、ヘッダー、リクエスト本文、セキュリティ スキーム、および例を含めることができます。この集中化されたコンテナにより、API 定義全体の再利用性と保守性が向上します。
スキーマは、リクエストとレスポンスの本文の構造を定義します。スキーマは、ユーザー オブジェクト、エラー メッセージの構造、またはその他のデータ エンティティを表すことができます。
例:
components:
schemas:
User:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
パラメータは、パスの ID やページ区切りの制限やオフセットなど、複数の操作にわたって再利用できます。
例:
components:
parameters:
userId:
name: userId
in: path
required: true
schema:
type: integer
limitParam:
name: limit
in: query
schema:
type: integer
default: 10
特にエラー処理用の共通の応答構造は、一度定義して再利用できるため、一貫した API 動作が保証されます。 例:
components:
responses:
NotFound:
description: The specified resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
さまざまなエンドポイントで使用される可能性のある標準ヘッダーは、一度定義して再利用できます。
例:
components:
headers:
X-Rate-Limit:
description: The number of allowed requests in the current period
schema:
type: integer
共通のセキュリティ スキームを定義すると、API 全体でそれらを再利用できるようになり、一貫したセキュリティ プラクティスが確保されます。
例:
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
コンポーネントには明確で説明的な名前を使用し、開発者がコンポーネントを理解して再利用できるようにします。たとえば、ユーザー オブジェクト スキーマの場合は User、一般的な 404 エラー応答の場合は NotFound です。
コンポーネントを論理的に整理し、タイプ (応答、パラメーターなど) またはドメイン領域 (認証、ユーザー、製品など) 別に分類します。
再利用性は重要ですが、細分化が進みすぎると API 仕様の理解と保守が複雑になる可能性があります。バランスが重要です。
components:
schemas:
Error:
type: object
properties:
code:
type: integer
message:
type: string
paths:
/users:
get:
parameters:
- $ref: '#/components/parameters/limitParam'
- name: offset
in: query
schema:
type: integer
default: 0
paths:
/protected/resource:
get:
security:
- ApiKeyAuth: []
responses:
'200':
description: Success
効果的に使用するcomponents
OAS のオブジェクトを使用すると、API 仕様の一貫性と保守性が大幅に向上します。ベスト プラクティスに従い、APIGIT の直感的な API エディターを活用することで、開発者は効率的で再利用可能で整理された API 定義を作成できます。
© 2024 APIGit Inc.