gRPC-Gateway 不使用 http endpoint 方法生成 resiter

我正在尝试使用以使我的go grpc方法也可用于http调用。为此,我正在使用模块。但是,当我使用protoc生成proto文件时,我没有看到示例中所示的方法。这就是我的 .proto 文件的样子https://github.com/grpc-ecosystem/grpc-gatewayhttps://github.com/grpc-ecosystem/grpc-gatewayRegister*FromEndpoint


syntax = "proto3";


package health;


option go_package = "github.com/user/app/api/health";

import "google/api/annotations.proto";


service Health {

    rpc Ping (HealthRequest) returns (HealthReply) {

      option (google.api.http) = {

        get: "/ping"

      };

    }

  }

  

  // The request message containing the user's name

  message HealthRequest {    

  }

  

  // The response message containing the greetings

  message HealthReply {

    string message = 1;

  }

这就是我的原型命令的样子


protoc --go_out=api/proto/ --go_opt=paths=source_relative \

    --go-grpc_out=./api/proto --go-grpc_opt=paths=source_relative \

    --proto_path=internal/api \

    --proto_path=third_party \

    ./internal/api/health/health.proto      

生成工作正常,没有任何错误,但生成的文件没有等效方法,如此处的示例所示health_grpc.pb.goRegisterYourServiceHandlerFromEndpointhttps://github.com/grpc-ecosystem/grpc-gateway


一只名叫tom的猫
浏览 117回答 2
2回答

米琪卡哇伊

为了生成存根,我们可以使用 或 。 是业界广泛使用的更经典的一代体验。尽管如此,它仍有一个相当陡峭的学习曲线。 是一个较新的工具,考虑到用户体验和速度。它还提供起毛和破坏性变化检测,但有些东西不提供。protocbufprotocbufprotoc您可以在此处阅读更多信息:https://grpc-ecosystem.github.io/grpc-gateway/docs/tutorials/generating_stubs/using_buf/。buf

明月笑刀无情

作为 grpc-gateway saied 的文档,我建议你使用 buf 而不是 protoc,它更简单友好。您可以参考 grpc-gateway#usage 的文档version: v1beta1plugins:  - name: go    out: gen/go    opt:      - paths=source_relative  - name: go-grpc    out: gen/go    opt:      - paths=source_relative  - name: grpc-gateway    out: gen/go    opt:      - paths=source_relative      - generate_unbound_methods=true如果你仍然想使用protoc,你需要添加参数:--grpc-gateway_optprotoc -I . --grpc-gateway_out ./gen/go \    --grpc-gateway_opt logtostderr=true \    --grpc-gateway_opt paths=source_relative \    --grpc-gateway_opt generate_unbound_methods=true \    your/service/v1/your_service.proto
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go