Proyek ini bermaksud untuk membuat sasis WebAPI ASP.NET Core dasar untuk Rampup API Tugas Pengembangan Pola menerapkan pola yang tercantum pada 12faktor Heroku, Richardson's Microservices.io, Spesifikasi OpenAPI dan juga implementasi Microsoft dan Rekomendasi Desain. Ini dibuat di sekitar .NET 5 Framework dan siap berjalan di Docker Stack di samping alat seperti manajemen konfigurasi, penebangan dan caching.
Instal dan menjalankan versi stabil terbaru dari template ini cukup jalankan perintah foolowing:
dotnet new install Xopz.Templates.Api
dotnet new apichassis --name MyApiBerikut daftar pola yang sudah diimplementasikan.
| Pola | Keterangan |
|---|---|
| Sasis API | Proyek ini sendiri untuk mengatasi fasilitas yang diusulkan dalam pola sasis Microservices Richardson. Pilih Jenis Proyek API Layanan Insen untuk membahas Topik 12 Faktor VI, VII dan VIII. |
| Metrik API | Proyek ini mengimplementasikan HealthCheck Out of the Box melalui app.UseHealthChecks() |
| Versi API | Proyek ini mengimplementasikan versi URL untuk API |
| Kebencian | Di Maju Proyek ini menawarkan alternatif untuk meminta data dengan tautan seperti yang disebutkan pada spesifikasi tautan web dan direkomendasikan oleh Microsoft. |
| OAS 3.0 | Proyek ini mengikuti versi ketiga dari spesifikasi OpenAPI untuk dokumentasi API. |
| ISTIRAHAT | API ini mengimplementasikan Panduan REST pada permintaan pemrosesan jadi, ini mengikuti spesifikasi HTTP saat mengirim respons dan juga mengikuti Rekomendasi Microsoft |
Templat dan implementasi ini didasarkan pada .NET 5 sehingga harus memiliki .NET SDK atau menjalankan proyek ini pada gambar .NET Docker
Solusi tersedia akan berada di dalam folder source . Setiap solusi harus dapat dibuka di Visual Studio atau Code untuk mengedit, menyusun, dan men -debug. Untuk membangun proyek saat ini dari baris perintah, gunakan perintah follwing:
dotnet build ./source/ApiChassi/ApiChassi.slnProyek harus dibuktikan dengan satu set dasar unit test dan mereka termasuk dalam templat. Mereka juga dapat dieksekusi berdiri sendiri dengan perintah berikut:
dotnet test ./source/ApiChassi/ApiChassi.slnUntuk membangun paket Nuget, kami memilih untuk menggunakan gambar Docker. Ada skrip yang telah ditentukan untuk membantu membangun gambar Nuget Tool Docker yang diperlukan dan untuk mengemas Nuget sebagai templat. Untuk membuat dan membangun secara lokal (bahkan di Linux atau MacOS):
# EXECUTE THE FOLLOWING COMMANDS AT THE ROOT FOLDER
# CREATES A DOCKER IMAGE LOCALLY TO PACK THE SOURCE
./.environment/scripts/make_nuget.cmd
# CREATES THE NUPKG
./.environment/script/make_package.cmd Untuk tes lokal, dimungkinkan untuk menginstal file nupkg dari folder. Untuk melakukan itu, jalankan perintah berikut:
dotnet new --install ./Xopz.Templates.Api.0.0.1.nupkg
# CHECK INSTALLED TEMPLATES
dotnet new --list | grep XOPZ
# CREATE SOLUTION FROM TEMPLATE
dotnet new apichassis --name MyApiUntuk menghapus templat yang diinstal - dari nuget.org atau secara lokal - gunakan:
dotnet new --uninstall Xopz.Templates.Api