APIスターター付きのブレザー! ? (.net 7)?
これは、ブレザーフロントエンドとASP.NETコアバックエンドで構成されるスタータープロジェクト /テンプレートです。このテンプレートのBlazorアプリは、ASP.NETコアサーバーから提供されます。
このソリューションを実行するときは、Visual Studioでこれを実行している場合、またはVSコードを介してこれを実行している場合はStartupプロジェクトとしてサーバープロジェクトを設定してください。ServerプロジェクトフォルダーにCDを使用して、CMD/PowerShell/The Choiceの端末でdotnet run実行してください
ところで!このリポジトリをフォーク/クローンで自由に感じてリミックスして、独自のスターターを作成します。
このスタータープロジェクトを実行するには何が必要ですか?
- ネット7 SDK(https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
- VSコードまたはビジュアルスタジオ2022(現在の最新、プレビューを自由に使用してくださいが、これを現在でのみテストしました)
- Windows/Mac/Linuxで実行できるはずです(私はこれをテストしていませんが、.NET 7のクロスプラットフォームになる機能を実行するだけです)。
一目で、このプロジェクトには次のものが含まれています。
- Blazorクライアント(デフォルトのBlazor Projectピースを含むWeatherapiビットを差し引いたもの)
- ASP.NETコアサーバー(API)
- 共有プロジェクト(フロントエンドとバックエンドの間でコードとサービスを共有するため)
- プロジェクトクライアント、サーバー、共有をテストします
では、何が構成されていますか?
- すべてのプロジェクトは.NET 7をターゲットにしています
- すべてのテストプロジェクトは、Xunitを使用し、MOQをモッキング依存関係に含めるように構成されています。
- Blazor Testプロジェクトには、ページとコンポーネントをテストするためのバンズがあります
- サーバーテストプロジェクトには、インメモリエンティティフレームワークコア7データベースを作成するフィクスチャが含まれています(サーバーテストのinmemorydbtests.csファイルの例を参照)。これにより、物理DBを使用せずにテストできます。
- クライアントプロジェクトには、コンポーネントやページに挿入できるサーバーに呼び出すと入力されたhttp-clientの例があります。
- サーバープロジェクトには次の例があります。
- コントローラー
- サービス
- ミドルウェア
- embles.dbと呼ばれるsqlite dbに関連付けられているdbcontext(ef core 7)(これは、ef-coreのサポートがあれば、箱から出して動作するdbをお気軽にリターゲットにしてください!)
- AutomApperの使用
テクノロジー / Libsが一目で含まれています。
- エンティティフレームワークコア7
- Moq
- AutomApper
- FluentValidation&Blazored.FluentValidation(これは非常に良いことです。D、FluentValidationは標準のSystem.comPonentModel.DataAnnotationsデコレータを交換することを好みます)
- バニット
- Xunit
- System.text.json
- microsoft.extensions.http(ihttpclientFactoryでhttpclientとhttpmessagehandlerを構成するために、これは素晴らしいサービスを提供します。