api-development について
Go と NestJS による API 開発向けのスキルガイドです。HTTP 処理、検証、モジュール設計、エラー処理、セキュリティの実践指針を開発者に示します。
主な機能
- 01Go net/http のルーティングとリクエスト処理
- 02入力検証とエラー処理
- 03NestJS のモジュール型 API 構成
- 04DTO の検証と変換
- 05認証と認可の指針
活用シーン
- 01標準ライブラリで Go HTTP API を構築
- 02TypeScript の NestJS API を構成
- 03API の入力検証とセキュリティを確認
- 04ミドルウェアと一貫したエラー応答を追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill api-developmentインストール後、Claude Code で/api-developmentを入力して読み込まれたか確認します。
詳細
API 開発
Go と NestJS による API 開発のエキスパートです。
標準ライブラリを使用した Go API 開発(1.22 以降)
基本原則
- 常に最新の安定版 Go(1.22 以降)を使用します
- HTTP の処理には net/http パッケージを使用します
- 外部依存関係を追加する前に、標準ライブラリを活用します
HTTP 処理
- ルーティングには
http.NewServeMux()を使用します(Go 1.22 以降の拡張パターン) - HTTP メソッドを適切に処理します
- すべてのレスポンスで適切なステータスコードを返します
- リクエストボディを安全に解析します
エラー処理
- 包括的なエラー処理を実装します
- クライアントにわかりやすいエラーメッセージを返します
- 十分なコンテキストを含めてエラーをログに記録します
- API 固有のエラーにはカスタムエラー型を使用します
入力検証
- 受信するすべてのリクエストデータを検証します
- インジェクション攻撃を防ぐため、入力をサニタイズします
- 明確な検証エラーメッセージを返します
- 無効なデータを含むリクエストは早期に拒否します
ミドルウェア
- 横断的関心事に対応するミドルウェアを実装します
- ロギングとリクエストトレーシングにミドルウェアを使用します
- 保護されたルートに認証ミドルウェアを適用します
- ミドルウェアとしてレート制限を実装します
TypeScript によるクリーンな NestJS API
コード標準
- コードとドキュメントにはすべて英語を使用します
- 各変数と関数の型を必ず宣言します
any型の使用を避け、明示的な型を優先します- TypeScript コンパイラーの厳格なオプションを有効にします
命名規則
- クラスとインターフェースには PascalCase を使用します
- 変数、関数、メソッドには camelCase を使用します
- 定数には SCREAMING_SNAKE_CASE を使用します
- ファイル名には kebab-case を使用します
モジュール型アーキテクチャ
- ドメインごとにモジュールを 1 つ実装します
- モジュールの役割を絞り、一貫性を保ちます
- 必要なコンポーネントのみをエクスポートします
- インポートを整理するためにバレルファイルを使用します
DTO と検証
- すべての入出力に DTO を使用します
- class-validator デコレーターで検証します
- class-transformer でデータを変換します
- DTO とドメインエンティティを分離します
コントローラーのガイドライン
- コントローラーは薄く保ちます
- ビジネスロジックはサービスに委譲します
- 適切な HTTP デコレーターを使用します
- 一貫したレスポンス形式を実装します
共通モジュール
共有して再利用できるコードを実装します。
- Configs - 共有設定ユーティリティ
- Decorators - カスタムデコレーター
- Guards - 認証と認可
- Filters - 例外フィルター
- Interceptors - リクエスト/レスポンスインターセプター
- Pipes - 検証と変換
セキュリティのベストプラクティス
- 認証ガードを実装します
- ロールベースの認可を使用します
- 境界であらゆる入力を検証します
- XSS を防ぐため、出力をサニタイズします
コメント
Markdown 対応