Persyaratan: Scalar cukup kuat dan dapat secara otomatis menghasilkan kode panggilan HTTP dalam berbagai bahasa dari dokumentasi API, menggunakan Scalar alih-alih Swagger untuk menampilkan dokumentasi API.
Setelah rilis .NET 9 ASP.NET tim Inti resmi mengumumkan bahwa Swashbuckle.AspNetCore (proyek yang menyediakan alat Swagger untuk ASP.NET Core API) akan dihapus dari templat ASP.NET Core Web API. Ini berarti bahwa di masa mendatang, ketika kita membuat proyek Web API, dokumentasi Swagger API tidak akan lagi dibuat secara otomatis. Jadi hari ini, mari kita coba menggunakan Scalar untuk dokumentasi API interaktif di proyek EasySQLite .NET 9 kami.
Tautan:Login hyperlink terlihat.
Alasan penghapusan Swagger dapat diringkas sebagai berikut:
- Perawatan Buruk Swashbuckle: Proyek Swashbuckle tidak lagi dikelola secara aktif oleh pemilik komunitas, banyak masalah tetap belum terselesaikan, dan versi resmi yang kompatibel dengan .NET 8 belum dirilis.
- Beralih ke Microsoft.AspNetCore.OpenApi: Tim ASP.NET Core akan meningkatkan kemampuan Microsoft.AspNetCore.OpenAPI untuk menggantikan Swashbuckle dan mengaktifkan pembuatan dokumentasi OpenAPI.
- Alternatif yang ada: Selain Swashbuckle, proyek lain seperti NSwag mendukung pembuatan dokumentasi OpenAPI dan pembuatan kode klien/server, memungkinkan pengembang untuk memilih solusi yang sesuai berdasarkan kebutuhan proyek.
- Dukungan API bawaan yang ditingkatkan: Mulai dari ASP.NET Core 3.1, kerangka kerja telah menyediakan dukungan metadata seperti ApiExplorer. Dikombinasikan dengan dukungan bawaan Visual Studio dan Visual Studio Code untuk file .http, pengalaman pengujian dan penelusuran kesalahan API bahkan lebih baik.
- Mempromosikan OpenAPI sebagai komponen inti: Tim Core ASP.NET berencana untuk lebih meningkatkan integrasi OpenAPI di .NET 9, menjadikannya komponen inti yang berfokus pada pembuatan dokumentasi OpenAPI berformat JSON.
Skalar
Scalar adalah klien API dan alat pembuatan dokumentasi yang kuat dan mudah digunakan yang cocok untuk proyek API dari semua ukuran, mendukung berbagai bahasa dan platform pemrograman.
Alamat Sumber Terbuka:Login hyperlink terlihat.
ASP.NET Core mengintegrasikan Scalar
Dokumentasi terintegrasi:Login hyperlink terlihat.
Buat proyek ASP.NET Core 9, yang direferensikan sebagai berikut:
Tambahkan layanan dan middleware skalar di Program.cs, dengan kode sebagai berikut:
Edit WeatherForecastController.cs pengontrol, kode sebagai berikut:
Luncurkan proyek, buka browser Anda, dan kunjungi:http://localhost:5088/api-docs, seperti yang ditunjukkan pada gambar di bawah ini:
Anda dapat memilih untuk menghasilkan kode panggilan tertentu untuk pustaka HTTP dalam bahasa yang berbeda. Mengambil pustaka C# HttpClient sebagai contoh, kode yang dihasilkan adalah sebagai berikut:
Ini juga mendukung pengujian antarmuka online. Klik tombol Permintaan Pengujian, isi data postingan, lalu klik kirim untuk mengirim permintaan, seperti yang ditunjukkan di bawah ini:
Sesuaikan klien HTTP default. Untuk tim C#, kami ingin membuka antarmuka dokumentasi API, yang secara otomatis menampilkan kode panggilan C# HttpClient. Jika Anda tidak ingin memilih secara manual setiap kali pertama, konfigurasikan sebagai berikut:
Hapus fitur Ask AI dan hapus tombol Ask AI Agent. Fitur ini terasa agak berlebihan. Kodenya adalah sebagai berikut:
Seperti yang ditunjukkan di bawah ini:
Setelah penghapusan, seperti yang ditunjukkan di bawah ini:
Demikian pula, nonaktifkan fungsionalitas MCP, kode sebagai berikut:
Konfigurasi lengkapnya adalah sebagai berikut:
Tambahkan autentikasi JWT dan bawa header permintaanToken Pembawa
Tambahkan persyaratan keamanan ke seluruh dokumentasi OpenAPI, kode sebagai berikut:
Seperti yang ditunjukkan di bawah ini:
OpenID Connect (OIDC):Login hyperlink terlihat.
Referensi:
Login hyperlink terlihat.
Login hyperlink terlihat. |