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: