首页 > 其他分享 >Golang Grpc-Gateway生成-buf版

Golang Grpc-Gateway生成-buf版

时间:2024-02-06 10:47:06浏览次数:26  
标签:relative proto Grpc Golang yaml buf gateway out

官网有个工具buf可以自动生成 https://github.com/bufbuild/buf/releases

按照自己的平台下载对应的文件,并把可执行文件加入到环境变量下

proto同级目录下新增buf.gen.yaml或者执行 buf mod init,buf默认会扫描所有文件夹的*.proto,所以我在同级目录下创建

version: v1
plugins:
  - plugin: go
    out: .
    opt:
      - paths=source_relative
  - plugin: go-grpc
    out: .
    opt:
      - paths=source_relative
  - plugin: grpc-gateway
    out: .
    opt:
      - paths=source_relative

如果要用grpc-gateway,需要新增一个buf.yaml,引入gateway的插件

这时候需要执行指令 buf mod update

官网上说:Always run buf mod update after adding a dependency to your buf.yaml.

version: v1
name: buf.build/yourorg/myprotos
deps:
  - buf.build/googleapis/googleapis

经测试,并不用引入protoc版本的google/api/annotations.proto

执行指令生成

buf generate

标签:relative,proto,Grpc,Golang,yaml,buf,gateway,out
From: https://www.cnblogs.com/qcy-blog/p/18009321

相关文章

  • Golang Grpc-Gateway生成-基础版
    时间久了不用就会忘记指令,这里做个笔记创建一个文件//+buildtoolspackagetoolsimport(_"github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway"_"github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2"_"google.gol......
  • go-carbon v2.3.8 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
    carbon是一个轻量级、语义化、对开发者友好的golang时间处理库,支持链式调用。目前已被awesome-go收录,如果您觉得不错,请给个star吧github.com/golang-module/carbongitee.com/golang-module/carbon安装使用Golang版本大于等于1.16//使用github库goget-ugithu......
  • 一些值得推荐的golang库
    通用工具类增强库:goutil项目地址:https://github.com/gookit/goutil简介:HelperUtils(700+):int,byte,string,array/slice,map,struct,dump,convert/format,error,web/http,cli/flag,OS/ENV,filesystem,system,test/assert,timeandmore.Go常用的一些工具函......
  • PHP导出Excel,从xlswriter到golang的进化是2分缩减到5秒
    先看图 一、介绍xlswriter是一个高效处理excel文件的PHP扩展,底层以C语言实现;处理速度是PHPExcel几十倍甚至几百倍的效率。官方链接:https://gitee.com/viest/php-ext-xlswriter缺点:更深入的功能(例如读取excel图片)健全;导出excel样式不够丰富导出excel文件,xlswriter绝对是效......
  • Java浅谈BufferedReader
    既然Scanner简单好用,为什么要用BufferedReader呢?主要原因是面对大量的读入显得较慢且不安全,这里体现在三个方面,一方面是解析的问题,好用意味着封装的更复杂,一拖n的接口解析起来会慢;另一方面是缓冲区的问题,Scanner缓冲区小1024B,直面物理介质的机会更大,众所周知,IO时间在大数据面前......
  • Golang 开发Android服务--交叉编译
    Golang开发Android服务--交叉编译移动端主要arm架构,编译命令CGO_ENABLED=0GOOS=linuxGOARCH=armgobuild-ogo_promine.goCGO_ENABLED=0GOOS=linux,指定临时环境变量不影响其它编译,也可以设置为全局环境变量。AOSP查看版本信息getprop不传参数查看所有属性值ge......
  • Golang 向已关闭的chan读写数据会怎样
    1.向已关闭的chan写会直接panic,报sendtoclosechannel错误packagemainfuncmain(){ //创建缓冲区为4的字符串chan schoolChan:=make(chanstring,4) //放入3个值 schoolChan<-"国防科大" schoolChan<-"北京大学" schoolChan<-"湖南大学" //......
  • Golang中make和new的区别
    1.相同点都是内建函数,都是在堆上分配内存,都需要传递类型参数2.不同点传递的参数不一样,new函数只接收一个参数,make函数可以接收一个以上的参数packagemainimport"fmt"funcmain(){ //int类型0值的指针,返回的值是以0x开头的16进制整数,参数个数为1 intZeroValueP......
  • CMU 15-445(Fall 2023) Project1 BUFFER POOL个人笔记
    PROJECT#1-BUFFERPOOL总结本文章不涉及实验要求实现的方法的具体代码,且只包括基础部分的内容。Project1只做了基础部分,没有做针对排行榜的优化。Project1基础部分不算难,但Bustub中只提供了简单的测试样例,通过了本地的测试后提交到gradescope可能拿不了满分,需要根据gradesco......
  • rust使用proxy-wasm-rust-sdk开发envoy wasm 进行GRPC调用
    在一些业务中,对于客户端发送的请求,需要调用grcp服务来确认是否合规,这个时候可以在入口网关做些统一的处理。之前写的用go来编写wasm,在编写grpc调用时发现由于tinygo的原因导致无法进行grpc请求,在找了一圈后决定使用proxy-wasm-rust-sdk来完成该部分功能。一、创建项目cargone......