gRPCurl 測試 gRPC 服務


  • gRPCurl 是一種命令行工具,可提供與 gRPC 服務的交互。
  • gRPCui 基於 gRPCurl,並為 gRPC 添加了交互式 Web UI,類似於 Postman 和 Swagger UI 等工具。

 

gRPCurl

gRPCurl 是由 gRPC 社區創建的命令行工具。 其功能包括:

  • 調用 gRPC 服務,包括流式服務。
  • 使用 gRPC 反射進行服務發現。
  • 列出並描述 gRPC 服務。
  • 適用於安全 (TLS) 和不安全(純文本)服務器。

grpcurl 必須了解服務的 Protobuf 協定,然后才能調用它們。 有兩種方法可以實現此目的:

  • 在服務器上設置 gRPC 反射。 gRPCurl 會自動發現服務協定。
  • 在 gRPCurl 的命令行參數中指定 .proto 文件。

 

gRPC ASP.NET Core 包含 Grpc.AspNetCore.Server.Reflection 包,因此具有對 gRPC 反射的內置支持。 在應用中配置反射:

  • 添加 Grpc.AspNetCore.Server.Reflection 包引用。
  • 在 Startup.cs 中注冊反射:
    • AddGrpcReflection 用於注冊啟用反射的服務。
    • MapGrpcReflectionService 用於添加反射服務終結點。
public void ConfigureServices(IServiceCollection services)
{
    services.AddGrpc();
    services.AddGrpcReflection();
}

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

        if (env.IsDevelopment())
        {
            endpoints.MapGrpcReflectionService();
        }
    });
}

 

命令行說明

https://docs.microsoft.com/zh-cn/aspnet/core/grpc/test-tools?view=aspnetcore-3.1#use-grpcurl

 

gRPCui

也是使用 gRPC 反射自動發現 gRPC 服務。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM