本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つASP.NET REST API Developmentについてです。
ASP.NET REST API Development
ASP.NET REST API DevelopmentはASP.NETを使用したREST API構築のガイドラインです。
ASP.NET Coreを使ったREST API開発を用いると、Webやモバイルアプリ、他のサーバーと“データのやり取り”をするためのバックエンドを作成できます。
以下のページからASP.NET REST API Developmentのインストールボタンをクリックして取得します。
github.com
インストールボタンを押してASP.NET REST API Developmentをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
CopilotはASP.NET REST API のコンテキストを理解した上でコード提案や説明生成を行うようになります。
'**/*.cs, **/*.json'などのC# コードと JSON 関連のファイルに対して以下のルールを適用します。
API の基礎と設計原則を説明
CopilotはRESTの基本概念を前提として以下のような設計段階でのガイド付き提案を行います。
- RESTの原則(リソース指向、HTTP動詞の意味、ステータスコード設計など)を説明しながら提案する
- 意味のあるエンドポイント設計(URL と HTTP メソッドの適切な組み合わせ)を示す
プロジェクト構造とセットアップ
Copilot は次のような内容を含めて提案します。
- dotnet new webapi などでプロジェクトを生成する手順
- それぞれのフォルダやファイルの役割の説明
- モデル・サービス・データアクセス層の分離など、整理された構造
- 環境設定(appsettings.json や ASP.NET Core の構成)
Controller と Minimal API の両方を案内
このファイルは次の2つのスタイルに対応するよう指示します。
- Controller ベースの API
- [ApiController]、ルーティング属性
- モデルバインディング、検証
- IActionResult / ActionResult 返却パターン
- Minimal API(新しい ASP.NET Core 構文)
- app.MapGet, app.MapPost などのコード
- エンドポイント定義
- ルートグループ化や DI の説明
データアクセスと永続化
CopilotはAPIでデータを扱うための設計も案内します。
- Entity Framework Core を使った DB アクセス
- SQL Server / SQLite / In-Memory などを選ぶ基準
- Repository パターンの説明
- マイグレーションとシーディングの手順
バリデーションとエラー処理
Copilotは以下のような標準的かつ理解しやすいエラー処理設計を含む提案を行います。
- データ検証(Data Annotation / FluentValidation)
- オブジェクト一貫性の保ち方
- グローバルエラー対応ミドルウェアの設計
- RFC に準拠したエラー形式(ProblemDetails)
バージョン管理とAPIドキュメンテーション
REST APIのバージョニングと文書化についてもCopilotは以下の支援を行います。
- API Versioning の設定方法
- Swagger/OpenAPI の統合、説明生成
- リクエスト/レスポンスの注釈付きドキュメント生成
ロギング・監視・テスト
Copilotは以下のような品質と運用性に配慮したコード提案を行います。
- Structured Logging(例:Serilog)
- テレメトリの組み込み(Application Insights)
- 単体/統合テストの作成
- 認証付きテストケース
デプロイとDevOps
CopilotはAPIのデプロイ関連もカバーします。
- Docker でのコンテナ化
- CI/CD パイプライン設定
- Azure App Service / Azure Container Apps 等へのデプロイ
- ヘルスチェック・環境設定切り替えなど