設計原則が身につくREST API開発ハンズオン。
研修概要
C# REST API開発 実践は、C#および.NETを用いたREST API開発を、ドメイン駆動設計(DDD)をベースに体系的に学ぶ実践型プログラムです。「動くコードが書ける」から一歩進み、変更に強く・テストしやすく・チームで共有できる設計を身につけることを目的としています。ドメイン層・インフラストラクチャ層・アプリケーション層・プレゼンテーション層の4層アーキテクチャを実装しながら、依存性逆転の原則(DIP)・Repositoryパターン・Unit of Workなどの設計原則を体得します。
さらにJWT認証・HTTPS・CORS・HttpOnly Cookieを第二部として独立した章で扱い、セキュリティを考慮した実践的なREST APIの構築まで一気通貫で学びます。
こんな課題を持つ企業におすすめ
開発現場
- C#・ASP.NET CoreによるREST API開発はできるが、エンドポイント実装に留まり「変更に強い設計」ができていない
- DDD・設計原則を学んだことはあるが、実装レベルでの適用ができず、概念と現場のギャップが埋まらない
- JWT認証・HTTPS・CORS・HttpOnly Cookieといったセキュリティ実装を他任せにしており、自分の手で構築できない
- 技術負債が蓄積し、長期保守が困難な状態になっている。設計力でこの状況を打開したい
本研修の到達目標
開発現場
- 1変更に強い設計ができるようになるDDDの4層アーキテクチャと設計原則(DIP・Repository・Unit of Work)を実装を通じて体得し、仕様変更・技術変化に強いコードを書けるエンジニアを目指します。
- 2REST APIを設計から実装まで自走できるようになるASP.NET Coreの主要機能を活用し、エンドポイント設計・ドメイン実装・例外処理・OpenAPI/Swagger対応まで、一貫したREST APIを独力で構築できる力を養います。
- 3セキュリティを自分の手で実装できるようになる「知っている」を「できる」に変えます。JWT認証・HTTPS・CORS・HttpOnly Cookieを実際に実装することで、セキュリティを他任せにしないエンジニアへの第一歩を踏み出します。
本研修の特長
DDD4層アーキテクチャの完全実装
ドメイン層・インフラ層・アプリケーション層・プレゼンテーション層を完全分離。依存性逆転の原則(DIP)・Repository・Adapter・Unit of Work・Factoryクラスなど、GoF/DDDパターンを実装レベルで解説し、実務直結の設計思想が身につきます。
セキュリティを独立した第二部として体系化
JWT認証・HTTPS(TLS 1.3)・CORS・HttpOnly Cookieを独立した第二部として扱い、セキュリティ実装の深度が業界水準を大きく上回ります。「知っている」だけでなく、自分の手で実装できるレベルまで引き上げます。
サンプル+演習の二段構成で自立実装へ
各章末にプログラム実装演習・ディスカッション演習を配置。サンプルアプリ(部署/従業員)と演習アプリ(商品/在庫)を分けることで、コード模倣から自立実装へのステップが明確に設計されています。
研修カリキュラム
| 日程 | 章・学習テーマ | 学習内容・習得スキル |
|---|---|---|
| 1日目 | 第1章:本研修の概要 | REST APIの基本概念・HTTPメソッドとの対応・6つの基本原則・JWT・HTTPS・アーキテクチャ(DDD4層構造)・サンプル/演習アプリの仕様・プロジェクトの基本構成を把握します。 |
| 第2章:ドメイン層 | ドメイン層の役割と外部技術に依存しない設計を学びます。ドメインオブジェクト・集約と参照の設計・Repositoryインターフェイス・Adapterインターフェイスを実装します。 |
|
| 2日目 | 第3章:インフラストラクチャ層 | EF CoreのEntityクラス・DbContext・Adapterインターフェイス実装・Factoryクラス・Repositoryインターフェイス実装を行い、依存性逆転の原則(DIP)を体得します。 |
| 第4章:アプリケーション層 | ユースケースインターフェイスと実装クラス・例外の責務分離・Unit of Workパターン・更新系/参照系ユースケースを実装します。 |
|
| 第5章:プレゼンテーション層 | APIコントローラ・ルーティング・ViewModelとAdapter・Swagger・例外ハンドリングミドルウェアを実装し、REST APIを完成させます。 |
|
| 3日目 | 第6章:ユーザー登録 | パスワードのハッシュ化(PBKDF2・ソルト・ストレッチング)・ASP.NET Core Identityを理解し、4層すべてを通じてユーザー登録機能を実装します。 |
| 第7章:JWT(JSON Web Token)認証 | JWTの構成要素・クレーム・トークン生成情報を学び、ログイン/ログアウト機能とSwagger連携を実装します。 |
|
| 第8章:HTTPSの利用 | TLS 1.3のシーケンスを理解し、KestrelによるHTTPS設定を実装します。 |
|
| 第9章:CORSとHttpOnly Cookie | CORSミドルウェアの設定・HttpOnly CookieによるXSS対策・CookieOptionsの実装を行います。 |
必要な受講環境と前提知識
受講環境
研修のハンズオンはWindows 11上のVisual Studio CodeからWSL2環境を利用して実施します。各種ツール・サービスの構成は以下のとおりです。
| ホストOS | Windows 11 |
|---|---|
| IDE | Visual Studio Code(コード編集・ターミナル操作・デバッグ) |
| 実行環境 | WSL2(Ubuntu 24.04) |
| SDK | .NET 8 LTS(C# / ASP.NET Core アプリケーション開発・実行) |
| RDBMS | PostgreSQL(サンプル・演習アプリのデータベース) |
| SQLツール | pgAdmin 4(データベースの接続・操作・確認) |
| VSCode拡張機能 | .NET Install Tool / C# Dev Kit / C# / [Extension Pack] C# / C# Namespace Autocompletion / C# XML Documentation Comments / C# Snippets |
前提知識
- プログラミングの基礎知識:C#(ASP.NET Core)を用いた、基本的なWebアプリケーションの作成・実行経験があること。オブジェクト指向プログラミング(クラス・インターフェイス・継承)の基本を理解していること。
- 基本的なPC・OS操作:Visual Studio Codeを使ったコード編集・ターミナル操作ができること。WSL2(Ubuntu)環境での初歩的なコマンド入力に抵抗がないこと。
- データベースの基礎知識:リレーショナルデータベースの基本概念とSQLによるCRUD操作ができること。
お問い合わせ
本研修に関するご質問・お申し込みは、以下のフォームよりお問い合わせください。
担当者より2営業日以内にご連絡いたします。
