mcpField
P
phase-4-api

phase-4-api

github.com/ww-w-ai開発60646 回インストール4 週間前に更新
リポジトリ

phase-4-api について

バックエンド API の設計と実装を進める開発スキルです。テストスクリプトを使わず、構造化ログで検証する QA 手順も扱います。

主な機能

  1. 01API エンドポイントと入出力の設計
  2. 02バックエンド API の実装
  3. 03構造化ログによる検証
  4. 04RESTful API のチェックリスト

活用シーン

  1. 01API のルートと応答の計画
  2. 02バックエンド API サービスの構築
  3. 03テストスクリプトなしでの動作検証

MCP 対応

Dynamic レベルでは、MCP 経由で bkend.ai に接続し、ツールによるテーブル作成と REST API の統合を説明します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ww-w-ai/bkit-claude-code --skill phase-4-api

インストール後、Claude Code で/phase-4-apiを入力して読み込まれたか確認します。

詳細

フェーズ 4:API の設計・実装+スクリプト不要の QA

バックエンド API の実装とスクリプトを使わない QA

目的

データを保存および取得できるバックエンド API を実装します。テストスクリプトの代わりに、構造化ログを使って検証します。

このフェーズで行うこと

  1. API 設計:エンドポイントとリクエスト/レスポンスを定義します
  2. API 実装:実際のバックエンドコードを作成します
  3. スクリプト不要の QA:ログに基づいて検証します

成果物

docs/02-design/
└── api-spec.md             # API specification

src/api/                    # API implementation
├── routes/
├── controllers/
└── services/

docs/03-analysis/
└── api-qa.md               # QA results

PDCA の適用

  • Plan:必要な API の一覧を定義します
  • Design:エンドポイントとリクエスト/レスポンスを設計します
  • Do:API を実装します
  • Check:スクリプト不要の QA で検証します
  • Act:バグを修正し、フェーズ 5 に進みます

レベル別の適用

レベル適用方法
Starterこのフェーズをスキップします(API なし)
Dynamicbkend.ai BaaS を使用します(以下を参照)
EnterpriseAPI を直接実装します
Dynamic レベル:bkend.ai BaaS API の実装
ステップ 1:MCP のセットアップ
claude mcp add bkend --transport http https://api.bkend.ai/mcp
ステップ 2:テーブル設計(MCP ツール経由)

自然言語でのリクエスト:「name(必須)、email(必須、一意)、age フィールドを持つ users テーブルを作成してください」 -> MCP backend_table_create が自動的に呼び出されます

ステップ 3:サービス API の統合
メソッドエンドポイント説明
GET/v1/data/{table}一覧表示(フィルター、並べ替え、ページ指定)
POST/v1/data/{table}データを作成
GET/v1/data/{table}/{id}単一データを取得
PATCH/v1/data/{table}/{id}部分更新
DELETE/v1/data/{table}/{id}削除

必須ヘッダー:x-project-id、x-environment、Authorization

ステップ 4:認証の実装

MCP ツール 3_howto_implement_auth および 6_code_examples_auth を参照してください

ステップ 5:スクリプト不要の QA
  • ブラウザーの DevTools の Network タブで、bkend REST API 呼び出しのログを確認します
  • レスポンスコード/本文で API の動作を検証します

スクリプト不要の QA とは?

Instead of writing test scripts, validate with structured debug logs

[API] POST /api/users
[INPUT] { "email": "[email protected]", "name": "Test" }
[PROCESS] Email duplicate check → Passed
[PROCESS] Password hash → Complete
[PROCESS] DB save → Success
[OUTPUT] { "id": 1, "email": "[email protected]" }
[RESULT] ✅ Success

Advantages:
- Save test code writing time
- See actual behavior with your eyes
- Easy debugging

RESTful API の原則

REST とは?

REpresentational State Transfer(表現状態転送)—Web サービスを設計するためのアーキテクチャスタイルです。

6 つの基本原則
原則説明例
1. クライアント・サーバークライアントとサーバーの責務を分離しますUI ↔ データストレージを分離
2. ステートレス各リクエストは独立しており、サーバーはクライアントの状態を保存しませんリクエストごとに認証トークンを含める
3. キャッシュ可能レスポンスでキャッシュ可能かどうかを示す必要がありますCache-Control ヘッダー
4. 統一インターフェース一貫したインターフェースを通じてやり取りします以下で詳しく説明
5. 階層化システム階層化されたシステムアーキテクチャを使用できますロードバランサー、プロキシ
6. コードオンデマンド(任意)サーバーはクライアントにコードを送信できますJavaScript の配信
統一インターフェースの詳細

RESTful API の中核となるのは、統一インターフェースです。

1. リソースベースの URL
✅ Good (nouns, plural)
GET    /users          # User list
GET    /users/123      # Specific user
POST   /users          # Create user
PUT    /users/123      # Update user
DELETE /users/123      # Delete user

❌ Bad (using verbs)
GET    /getUsers
POST   /createUser
POST   /deleteUser/123
2. HTTP メソッドの意味
メソッド目的冪等性安全性
GET読み取り✅✅
POST作成❌❌
PUT全体更新✅❌
PATCH部分更新❌❌
DELETE削除✅❌

冪等性:複数回リクエストしても同じ結果になること 安全性:サーバーの状態を変更しないこと

3. HTTP ステータスコード
2xx Success
├── 200 OK              # Success (read, update)
├── 201 Created         # Creation success
└── 204 No Content      # Success but no response body (delete)

4xx Client Error
├── 400 Bad Request     # Invalid request (validation failure)
├── 401 Unauthorized    # Authentication required
├── 403 Forbidden       # No permission
├── 404 Not Found       # Resource not found
└── 409 Conflict        # Conflict (duplicate, etc.)

5xx Server Error
├── 500 Internal Error  # Internal server error
└── 503 Service Unavailable  # Service unavailable
4. 一貫したレスポンス形式
// Success response
{
  "data": {
    "id": 123,
    "email": "[email protected]",
    "name": "John Doe"
  },
  "meta": {
    "timestamp": "2026-01-08T10:00:00Z"
  }
}

// Error response
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Email format is invalid.",
    "details": [
      { "field": "email", "message": "Please enter a valid email" }
    ]
  }
}

// List response (pagination)
{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 100,
    "totalPages": 5
  }
}
URL 設計ルール
1. Use lowercase
   ✅ /users/123/orders
   ❌ /Users/123/Orders

2. Use hyphens (-), avoid underscores (_)
   ✅ /user-profiles
   ❌ /user_profiles

3. Express hierarchical relationships
   ✅ /users/123/orders/456

4. Filtering via query parameters
   ✅ /users?status=active&sort=created_at
   ❌ /users/active/sort/created_at

5. Version management
   ✅ /api/v1/users
   ✅ Header: Accept: application/vnd.api+json;version=1
API ドキュメントツール
ツール特徴
OpenAPI (Swagger)業界標準、自動ドキュメント生成
Postmanテスト+ドキュメント
Insomnia軽量な API クライアント

API 設計チェックリスト

  • RESTful 原則への準拠
    • リソースベースの URL(名詞、複数形)
    • 適切な HTTP メソッド
    • 正しいステータスコード
  • 統一されたエラーレスポンス形式
  • 認証/認可方式の定義
  • ページネーション方式の定義
  • バージョニング方式(任意)

テンプレート

  • templates/pipeline/phase-4-api.template.md
  • templates/pipeline/zero-script-qa.template.md

次のフェーズ

フェーズ 5:デザインシステム → API の準備ができたので、UI コンポーネントを構築します

コメント