dotnet-api-boilerplate
.Net 5.0 WebAPIボイラープレート /テンプレートプロジェクト。リポジトリ、スワッガー、マッパー、セリログなどの実装。
このプロジェクトの目標は、.NET WebAPIのキックスタートであり、.NETで最も一般的な使用パターンとテクノロジーを実装して、作業を容易にすることです。
実行方法
- このテンプレート(github)を使用するか、地元の職場にクローン/ダウンロードします。
- 最新の.NET SDKとVisual Studio/Codeをダウンロードします。
スタンドアロン
- 適切な移行が初期化された状態で、MSSQLの実行中のインスタンスが必要になる場合があります。
- DockerでDBだけを実行できます。そのためには、接続文字列
docker-compose up -d db-server 「server = 127.0.0.1; database = master; user = sa; password = yourpassword123」に変更する必要があります。それを行うと、アプリケーションはDBサーバーのDEコンテナに到達できます。 - 必要に応じて、MSSQLの代わりにDataBaseExtensionを変更してuseinmemorydatabaseを使用できます。
- src/boilerplate.apiフォルダーに移動して
dotnet runを実行するか、Visual StudioでAPIプロジェクトを起動として設定し、コンソールまたはDockerとして実行します(IISではなく)。 - http:// localhost:5000/api-docsまたはhttps:// localhost:5001/api-docsにアクセスして、アプリケーションのSwaggerにアクセスしてください。
Docker
- Root Directoryで
docker-compose up -d実行するか、Visual Studioで、Docker-Composeプロジェクトをスタートアップと実行として設定します。これにより、アプリケーションとDBが開始されます。
- docker-composeの場合、このコマンドをルートフォルダーで実行する必要があります:
dotnet dev-certs https -ep https/aspnetapp.pfx -p yourpassword 「yourpassword」をこのコマンドとdocker-compose.override.ymlファイルに置き換えます。これにより、HTTPS証明書が作成されます。
- http:// localhost:5000/api-docsまたはhttps:// localhost:5001/api-docsにアクセスして、アプリケーションのSwaggerにアクセスしてください。
実行中のテスト
ルートフォルダーで、 dotnet testを実行します。このコマンドは、SLNファイルに関連付けられたすべてのテストプロジェクトを見つけようとします。
このプロジェクトには以下が含まれています。
- swaggerui
- EntityFramework
- AutomApper
- ジェネリックリポジトリ(CRUDリポジトリを簡単にブートストラップするため)
- リクエストロギングと簡単に構成可能なシンクを備えたセリログ
- .NET依存関係インジェクション
- リソースフィルタリング
- 応答圧縮
- CI(githubアクション)
- ユニットテスト
- 統合テスト
- DockerとDocker-Composeによるコンテナサポート
プロジェクト構造
- サービス
- このフォルダーは、APIとユーザーにデータを送信するプロジェクトを保存します。
- boilerplate.api
- これがメインAPIプロジェクトです。使用されるAPIのすべてのコントローラーと初期化を以下に示します。
- docker-compose
- このプロジェクトは、Visual StudioでDocker-Composeを実行できるようにするために存在します。 Docker-Composeファイルへの参照が含まれており、すべてのプロジェクトの依存関係を構築して実行します。
- 応用
- このフォルダーは、APIとドメインレイヤー間のすべてのデータ変換を保存します。また、ビジネスロジックも含まれています。
- ドメイン
- このフォルダーには、ビジネスモデル、酵素、および一般的なインターフェイスが含まれています。
- boilerplate.domain.core
- 他のすべてのドメインエンティティのベースエンティティと、リポジトリ実装のインターフェイスが含まれています。
- ボイラープレート。ドメイン
- インフラ
- このフォルダーには、すべてのデータアクセスリポジトリ、データベースコンテキスト、外部データに到達するものが含まれています。
- ボイラープレート。インフラストラクチャ
- このプロジェクトには、dbcontext、リポジトリパターンの一般的な実装、およびヒーロー(ドメインクラス)リポジトリが含まれています。
あなたのプロジェクトに採用します
- すべてのヒーロー関連のものをニーズに削除/名前を変更します。
- ソリューション、プロジェクト、名前空間、および使用のルールセットを変更します。
- dockerfileとdocker-compose.ymlを新しいcsproj/フォルダー名に変更します。
- このレポを星にしてください!
移行
このプロジェクトで移行を実行するには、ルートフォルダーで次のコマンドを実行します。
-
dotnet ef migrations add InitialCreate --startup-project .srcBoilerplate.Api --project .srcBoilerplate.Infrastructure
このコマンドは、移行のエントリポイントを設定し(dbprovider {sqlserver、mysqlなど}および接続文字列を選択する責任があります)、プロジェクト自体はインフラストラクチャです。
あなたがそれが好きなら、それに星を与えてください
このテンプレートがあなたに役立つ場合、またはあなたが何かを学んだ場合は、星を与えてください!
ありがとう
このプロジェクトは、https://github.com/lkurzyniec/netcore-boilerplateとhttps://github.com/eduardopires/equinoxprojectに大きな影響を与えています。時間があれば、これらのレポスにアクセスして、スターを渡してください!
について
このボイラープレート/テンプレートは、MITライセンスの下でYan Pitanguiによって開発されました。