Blazor dengan starter API! ? (.Net 7)?
Ini adalah proyek / templat starter yang terdiri dari frontend Blazor dan backend inti ASP.NET. Aplikasi Blazor dalam templat ini disajikan dari server inti ASP.NET.
Saat menjalankan solusi ini, silakan atur Proyek Server sebagai Proyek Startup jika Anda menjalankan ini di Visual Studio atau jika menjalankan ini melalui VS Code, silakan CD ke folder Proyek Server dan jalankan dotnet run di CMD/PowerShell/Terminal pilihan Anda
OMONG-OMONG! Merasa benar -benar bebas untuk garpu/mengkloning repo ini dan remix untuk membuat starter Anda sendiri ❤️ EG seperti menukar EF Core untuk Dapper atau ORM atau perpustakaan akses data lainnya yang Anda sukai.
Apa yang Anda butuhkan untuk menjalankan proyek starter ini?
- Net 7 SDK (https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
- VS Code atau Visual Studio 2022 (Terkini saat ini, jangan ragu untuk menggunakan pratinjau namun saya hanya menguji ini pada saat ini)
- Harus dapat berjalan di Windows/Mac/Linux (saya belum menguji ini, hanya lari dari kemampuan .NET 7 untuk menjadi lintas platform), jika tidak, beri tahu saya karena mungkin ada pengaturan atau konfigurasi konyol yang saya lewatkan.
Sekilas yang dikandung proyek ini:
- Klien Blazor (berisi potongan -potongan proyek Blazor default minus bit Weatherapi)
- Asp.net Core Server (API)
- Proyek bersama (untuk berbagi kode dan layanan antara frontend dan backend)
- Uji proyek klien, server, dan dibagikan
Jadi apa yang dikonfigurasi?
- Semua proyek menargetkan .NET 7
- Semua proyek pengujian dikonfigurasi untuk menggunakan Xunit dan berisi MOQ untuk ketergantungan mengejek.
- Proyek Tes Blazor memiliki Bunit untuk menguji halaman dan komponen
- Proyek uji server berisi perlengkapan yang membuat database Intitas Entitas Intitas Intitas dalam memori (lihat contoh dalam file inmemorydbtests.cs tes server), ini akan memungkinkan Anda untuk menguji tanpa menggunakan DB fisik!
- Proyek klien memiliki contoh HTTP-Client yang diketik untuk menelepon ke server yang dapat disuntikkan ke dalam komponen dan halaman Anda.
- Proyek server memiliki contoh:
- Pengontrol
- Layanan
- Middleware
- DBContext (EF Core 7) yang terikat pada SQLite DB yang disebut contoh.db (ini adalah memiliki DB yang berfungsi di luar kotak, jangan ragu untuk menargetkan ulang ke dukungan EF-Core apa pun!)
- Penggunaan Automapper
Teknologi / LIBS Termasuk sekilas.
- Entity Framework Core 7
- Moq
- Automapper
- Fluentvalidation & blazored.fluentvalidation (yang sangat bagus saya bahkan berkontribusi: D, fluentvalidasi adalah preferensi saya untuk menukar sistem standar.
- Bunit
- Xunit
- System.text.json
- Microsoft.extensions.http (Untuk mengonfigurasi httpclient dan httpmessageHandler di ihttpClientFactory, bagi saya ini menyediakan layanan yang bagus.