Menggunakan gRPC di aplikasi browser
Oleh James Newton-King
Tidak dimungkinkan untuk langsung memanggil layanan gRPC dari browser. gRPC menggunakan fitur HTTP/2, dan tidak ada browser yang menyediakan tingkat kontrol yang diperlukan atas permintaan web untuk mendukung klien gRPC.
gRPC di ASP.NET Core menawarkan dua solusi yang kompatibel dengan browser, gRPC-Web dan transcoding gRPC JSON.
gRPC-Web
gRPC-Web memungkinkan aplikasi browser untuk memanggil layanan gRPC dengan klien gRPC-Web dan Protobuf.
- Mirip dengan gRPC normal, tetapi memiliki protokol kawat yang sedikit berbeda, yang membuatnya kompatibel dengan HTTP/1.1 dan browser.
- Memerlukan aplikasi browser untuk menghasilkan klien gRPC dari
.proto
file. - Memungkinkan aplikasi browser mendapatkan manfaat dari penggunaan jaringan berkinerja tinggi dan rendah dari pesan biner.
.NET memiliki dukungan bawaan untuk gRPC-Web. Untuk informasi selengkapnya, lihat gRPC-Web di aplikasi gRPC ASP.NET Core.
transcoding gRPC JSON
Transcoding gRPC JSON memungkinkan aplikasi browser untuk memanggil layanan gRPC seolah-olah api tersebut RESTpenuh dengan JSAKTIF.
- Aplikasi browser tidak perlu menghasilkan klien gRPC atau tahu apa pun tentang gRPC.
- RESTAPI ful secara otomatis dibuat dari layanan gRPC dengan membuat
.proto
anotasi file dengan metadata HTTP. - Memungkinkan aplikasi untuk mendukung API web gRPC dan JSON tanpa menduplikasi upaya membangun layanan terpisah untuk keduanya.
.NET memiliki dukungan bawaan untuk membuat JSAPI web ON dari layanan gRPC. Untuk informasi selengkapnya, lihat transcoding gRPC JSON di aplikasi gRPC ASP.NET Core.
Catatan
transcoding gRPC JSON memerlukan .NET 7 atau yang lebih baru.
Sumber Daya Tambahan:
ASP.NET Core
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk