欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用grpcui測(cè)試ASP.NET core的gRPC服務(wù)

 更新時(shí)間:2022年07月04日 10:36:11   作者:波斯馬  
這篇文章介紹了使用grpcui測(cè)試ASP.NET core gRPC服務(wù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

grpcui類似Swagger UI,可以用來測(cè)試gRPC服務(wù),使用起來特別簡(jiǎn)單。

其原理是通過自動(dòng)發(fā)現(xiàn)gRPC服務(wù)協(xié)議(當(dāng)然前提是gRPC服務(wù)暴露了Protobuf協(xié)議),然后啟動(dòng)一個(gè)帶界面的Web程序,用戶就可以在網(wǎng)頁中選擇要調(diào)用的接口、填寫參數(shù),然后通過grpcui發(fā)起gRPC請(qǐng)求,最終把執(zhí)行結(jié)果展示出來。

廢話先不說了,直接上圖,看效果:

下邊來看使用方法:

這里以ASP.NET Core gRPC服務(wù)為例,對(duì)于其它語言開發(fā)的gRPC服務(wù)也完全沒有問題,gRPC協(xié)議都是一樣的,只不過順手寫了這個(gè)。

1、添加gRPC服務(wù)反射

首先你得創(chuàng)建一個(gè)ASP.NET Core gRPC服務(wù),這個(gè)用Visual Studio或者VS Code都可以。

服務(wù)要暴露ProtoBuf協(xié)議,需要添加反射,反射是通過Grpc.AspNetCore.Server.Reflection這個(gè)包來支持的,大家按照自己喜歡的方式自行安裝就好了。

代碼比較簡(jiǎn)單,請(qǐng)直接觀看:

public void ConfigureServices(IServiceCollection services)
{
    services.AddGrpc();
    services.AddGrpcReflection(); // 劃重點(diǎn)?。?!
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseRouting();
    
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapGrpcService<GreeterService>();

        if (env.IsDevelopment())
        {
            endpoints.MapGrpcReflectionService(); // 劃重點(diǎn)!?。?
        }
    });
}

重點(diǎn)是代碼中的這兩句:

services.AddGrpcReflection();

endpoints.MapGrpcReflectionService();

注意:

  • 為了安全,應(yīng)該僅在開發(fā)環(huán)境啟用。否則被別人嗅探了協(xié)議,就不太好了。
  • 其實(shí)gRPCui還支持通過proto文件獲取協(xié)議的方式,不過使用反射更加輕松一些。

添加完這兩句就可以啟動(dòng)服務(wù)了。

2、啟動(dòng)grpcui

這個(gè)工具只有一個(gè)exe文件,在Github上開源,直接下載就好了:

Release v1.2.0 · fullstorydev/grpcui (github.com)

然后在命令行啟動(dòng):grpcui -plaintext 127.0.0.1:5002

成功啟動(dòng)后,會(huì)在瀏覽器打開上文中的Web頁面,就可以愉快的測(cè)試了。

注意:

  • 這里沒有使用https,服務(wù)監(jiān)聽的是 http://0.0.0.0:5002,所以這里加了個(gè)參數(shù) -plaintext。如果是https,不需要添加這個(gè)參數(shù)。
  • grpcui還有很多參數(shù),你可以通過命令 gRPCui -help 來獲取。

這個(gè)工具面向所有g(shù)RPC服務(wù),如果你使用別的技術(shù)棧,也是完全可以的。

到此這篇關(guān)于使用grpcui測(cè)試ASP.NET core gRPC服務(wù) 的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論