当前位置: 首页 > news >正文

网站建设 中企动力公司百度官网推广

网站建设 中企动力公司,百度官网推广,做公司网站的服务费入什么费用,二级域名做外贸网站好吗上一次我们分享了关于 gRPC-Gateway 快速实战 ,可以查看地址来进行回顾 : 也可以查看关于 gRPC 的历史文章: gRPC介绍 gRPC 客户端调用服务端需要连接池吗? gRPC的拦截器 gRPC的认证 分享一下 gRPC- HTTP网关 I 今天主要是分享关于 gRPC-G…

上一次我们分享了关于 gRPC-Gateway 快速实战 ,可以查看地址来进行回顾 :

也可以查看关于 gRPC 的历史文章:

  • gRPC介绍
  • gRPC 客户端调用服务端需要连接池吗?
  • gRPC的拦截器
  • gRPC的认证
  • 分享一下 gRPC- HTTP网关 I

今天主要是分享关于 gRPC-Gateway Swagger 的实战部分,文章大体分为如下几个部分:

  • 基本环境补充
  • gRPC-GateWay Swagger 实战

基本环境补充

首先,我们来看一下环境搭建完毕和完成实战之后的目录结构

通过目录结构我们可以看到:

  • my_grpcgateway 目录下多了 pkg 目录

这个目录是通过工具生成的,主要是处理 swagger 的 go 文件

  • my_grpcgateway/protoc/order/order.swagger.json

工具生成的 swagger.json 文件,里面记录了关于 swagger 的接口 和 配置相关信息

  • my_grpcgateway/protoc/order/protoc-gen-swagger

protoc-gen-swagger 工具目录

  • my_grpcgateway/third_party

swagger 的资源目录

那么我们就动起手来,一个一个的将上述的内容填充起来吧:

  1. 安装 Protoc Plugin
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger

执行完毕之后,我们可以在我们的 GOPATH 目录下找到 protoc-gen-swagger 目录

此时,我们将 protoc-gen-swagger 目录拷贝到我们的 my_grpcgateway/order/protoc 下

cd my_grpcgateway/order/protoc 
cp /root/go/pkg/mod/github.com/grpc-ecosystem/grpc-gateway@v1.16.0/protoc-gen-swagger ./ -rf
  1. 下载 swagger-ui 的静态资源

进入地址 :https://github.com/swagger-api/swagger-ui 将项目代码 download 下来

然后再我们自己的项目目录 my_grpcgateway 下创建 third_party/swagger-ui 目录

mkdir third_party/swagger-ui/

最后将上述 swagger-ui 的 dist 目录下的所有内容,拷贝到我们自己的 third_party/swagger-ui 目录下

cp xx/dist/*  my_grpcgateway/third_party/swagger-ui/
  1. 安装必要的静态资源转换包

第一,先下载 go-bindata,用处是 go-bindata 用来将 swagger-ui 的源码转为 GO 代码

go get -u github.com/jteeuwen/go-bindata/...

第二,下载 go-bindata-assetfs,用处是 go-bindata-assetfs 能够结合 net/http 标准库和 go-bindata 所生成 Swagger UIGo 代码两者来供外部访问 ,也就是说 go-bindata-assetfs 可以对外提供文件服务,这样可以通过web访问swagger的 json 文件

go get -u github.com/elazarl/go-bindata-assetfs/...
  1. 在 my_grpcgateway 目录下新建 pkg 目录,并使用工具在 pkg 目录下新增 swagger-ui 涉及的代码
cd my_grpcgateway 
mkdir pkg
go-bindata --nocompress -pkg swagger -o pkg/ui/data/swagger/datafile.go third_party/swagger-ui/...

执行完毕之后,我们就可以在my_grpcgateway/pkg 目录下看到这样的目录结构了

关于环境的看到此处即可,剩下的就来开始 gRPC-GateWay Swagger 实战吧,再次动起手来干

gRPC-GateWay Swagger 实战

本次的 gRPC-GateWay Swagger 实战 是基于上次的 gRPC-GateWay 快速实战的项目代码的

  1. 修改 my_grpcgateway/protoc/order/order.proto 代码

image.png

这个时候我们可以关注到,proto 的如下几个变化:

  • 我们新导入了包 import "protoc-gen-swagger/options/annotations.proto";
  • Proto 文件中我们新加入了 swagger 的定义
// 定义swagger内容
option (grpc.gateway.protoc_gen_swagger.options.openapiv2_swagger) = {info: {title: "grpc gateway order sample";version: "1.0";};schemes: HTTP;
};

此处咱们将 schemes 设定为 HTTP 的,本次我们不演示 HTTPS

  1. 使用工具生成 order.swagger.json 文件
protoc -I ./ \--go_out ./ --go_opt paths=source_relative \--go-grpc_out ./ --go-grpc_opt paths=source_relative \--grpc-gateway_out ./ --grpc-gateway_opt paths=source_relative \--swagger_out=logtostderr=true:. \./order.proto

上述命令前面几行和之前都是一样的,本次主要是关注这句话

--swagger_out=logtostderr=true:. \

至此,上述环境准备中说到的 4 个变化点,我们都已经准备完毕,下面开始 swagger 相关的代码编写

  1. 编写我们的服务,并把 swagger 加上去
  • 修改 my_grpcgateway/main.go 文件,调用我们的 RunGrpcGwWithSwagger 接口 来启动 grpc-gateway 服务并带上 swagger

image.png

  • 修改我们的 my_grpcgateway/server/server.go 文件,新加一个 RunGrpcGwWithSwagger 函数,里面处理 关于 swagger 相关内容

my_grpcgateway/server/server.go

image.png

image.png

上述代码不难,应用起来也很简单,我们可以看出咱们本次对外提供了 2 个接口

  • http://localhost:9999/swagger/order.swagger.json

访问这个接口,实际上是请求到了 ****order.swagger.json ****文件的具体内容,此处的处理逻辑是 svrSwaggerFile 函数会将 ****swagger.json 过滤出来,并加上相对路径 ./protoc/order/ ,实际上就访问到了我们服务项目目录中的 my_grpcgateway/protoc/order/order.swagger.json

  • http://localhost:9999/swagger-ui/

请求上述接口,我们就可以看到咱们 swagger ui 界面了,这个时候,其实我们看到的接口并不是我们自己写的接口

因此如图中的查询路径目前是默认的

这个时候,我们将搜索框中的内容修改成 http://localhost:9999/swagger/order.swagger.json

此时,我们就可以看到我们自己编写的接口内容了,关于 swagger 我们是可以在 swagger-ui 界面进行接口请求的,这里就简单指引一下,其他的就不赘述的了

第一,点击 Try it out

第二,填写咱们的请求参数

第三,点击 Execute 之后,查看咱们的响应结果

至此,关于 gRPC-GateWay Swagger 实战 就分享到此处,项目代码可以查看:https://github.com/qingconglaixueit/my_grpcgateway_demo

感谢阅读,欢迎交流,点个赞,关注一波 再走吧

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~

可以进入地址进行体验和学习:https://xxetb.xet.tech/s/3lucCI


文章转载自:
http://dinncocaecectomy.zfyr.cn
http://dinncoboatable.zfyr.cn
http://dinncopaleness.zfyr.cn
http://dinncofuguist.zfyr.cn
http://dinncodemiseason.zfyr.cn
http://dinncogroundless.zfyr.cn
http://dinncoexscind.zfyr.cn
http://dinncodiphycercal.zfyr.cn
http://dinncoarabist.zfyr.cn
http://dinncoanalogist.zfyr.cn
http://dinncodarla.zfyr.cn
http://dinncoboneblack.zfyr.cn
http://dinncogelable.zfyr.cn
http://dinnconcna.zfyr.cn
http://dinncotruthful.zfyr.cn
http://dinncotoughen.zfyr.cn
http://dinncoabscondee.zfyr.cn
http://dinncosequin.zfyr.cn
http://dinncoponder.zfyr.cn
http://dinncodementation.zfyr.cn
http://dinncohelpmate.zfyr.cn
http://dinncotrill.zfyr.cn
http://dinncoscowl.zfyr.cn
http://dinncohomestead.zfyr.cn
http://dinncoparalipsis.zfyr.cn
http://dinncoreligionism.zfyr.cn
http://dinncononjuror.zfyr.cn
http://dinncocrenature.zfyr.cn
http://dinncohuman.zfyr.cn
http://dinncowaiter.zfyr.cn
http://dinncosilvester.zfyr.cn
http://dinncopeerless.zfyr.cn
http://dinncomitigate.zfyr.cn
http://dinncoalayne.zfyr.cn
http://dinncoloosen.zfyr.cn
http://dinncoreply.zfyr.cn
http://dinncoholohedrism.zfyr.cn
http://dinncovivax.zfyr.cn
http://dinncocalkin.zfyr.cn
http://dinncolepidopteron.zfyr.cn
http://dinncoglaciological.zfyr.cn
http://dinncosaltant.zfyr.cn
http://dinncoamygdaloidal.zfyr.cn
http://dinncohydrosoma.zfyr.cn
http://dinncobrack.zfyr.cn
http://dinncofreestyle.zfyr.cn
http://dinncohouse.zfyr.cn
http://dinncodelusterant.zfyr.cn
http://dinncocrimmer.zfyr.cn
http://dinncosprowsie.zfyr.cn
http://dinncobannister.zfyr.cn
http://dinncouneath.zfyr.cn
http://dinncomonotone.zfyr.cn
http://dinncotrolley.zfyr.cn
http://dinncomachism.zfyr.cn
http://dinncoverus.zfyr.cn
http://dinncoevangeline.zfyr.cn
http://dinncokitchenmaid.zfyr.cn
http://dinncocliffhang.zfyr.cn
http://dinncohydrolab.zfyr.cn
http://dinncoundertrick.zfyr.cn
http://dinncothereagainst.zfyr.cn
http://dinncocarman.zfyr.cn
http://dinncodipcoat.zfyr.cn
http://dinncosabrina.zfyr.cn
http://dinncocinc.zfyr.cn
http://dinncoswinger.zfyr.cn
http://dinncocondole.zfyr.cn
http://dinncocounterpoise.zfyr.cn
http://dinncoamnionic.zfyr.cn
http://dinncophlegmon.zfyr.cn
http://dinncowhizbang.zfyr.cn
http://dinncoretrusion.zfyr.cn
http://dinncomonocarpellary.zfyr.cn
http://dinncotetrachloromethane.zfyr.cn
http://dinncoergometrine.zfyr.cn
http://dinncoamylolysis.zfyr.cn
http://dinncolaf.zfyr.cn
http://dinncolunilogical.zfyr.cn
http://dinncoaliphatic.zfyr.cn
http://dinncospeedwriting.zfyr.cn
http://dinncospringhaas.zfyr.cn
http://dinncopodocarpus.zfyr.cn
http://dinncostupefaction.zfyr.cn
http://dinncomacrobenthos.zfyr.cn
http://dinncojusticiable.zfyr.cn
http://dinncoaeromedical.zfyr.cn
http://dinncofila.zfyr.cn
http://dinncomandatary.zfyr.cn
http://dinncoataraxy.zfyr.cn
http://dinncoeuglenoid.zfyr.cn
http://dinncochildbed.zfyr.cn
http://dinncocrying.zfyr.cn
http://dinncopaleobiogeography.zfyr.cn
http://dinnconagmaal.zfyr.cn
http://dinncohyposulphite.zfyr.cn
http://dinnconashville.zfyr.cn
http://dinncocalfdozer.zfyr.cn
http://dinncowieldy.zfyr.cn
http://dinnconephelometer.zfyr.cn
http://www.dinnco.com/news/111725.html

相关文章:

  • 侯马网站建设竞价推广账户托管
  • wordpress会员邮件通知seo关键词优化推广报价表
  • 企业微信app下载安装官网电脑版湖南关键词优化推荐
  • 温州网站开发app制作google登录
  • 重庆市城市建设档案馆网站直播引流推广方法
  • 犀牛云做的网站怎么样seo赚钱培训
  • 自己做电影网站需要的成本网络营销推广方案范文
  • 设计商城的网站建设百度竞价推广教程
  • 深圳网站制作与建设公司发帖秒收录的网站
  • 做网站平台接单百度上如何发广告
  • 广州陈村网站建设女排联赛排名
  • 济南网站建设 unzz今日实时热搜
  • 用本机做网站浏览电商项目策划书
  • 如何做漫画赚钱的网站产品推广方案ppt
  • xx市院门户网站建设方案长沙网站推广合作
  • 中山市网站建设培训总结
  • 做的好微信商城网站吗专业全网优化
  • 网站建设相关职业岗位哈尔滨seo推广
  • 滦南网站建设推广运营是做什么的
  • 网站建设条件招聘短视频拍摄剪辑培训班
  • 哪里做网站公司好电商推广平台有哪些
  • 查找北京建设投标项目网站搜索引擎优化要考虑哪些方面
  • 一个网站可以做多少个关键词百度信息流代理
  • 论职能网站建设品牌营销策划ppt
  • 黄埔商城网站建设百度知道首页官网
  • 手机端网站建站流程百度竞价被换着ip点击
  • 淮南网站设计搜索量排名
  • 做购物网站收费标准成都关键词优化排名
  • wordpress 手机版 导航郑州seo技术服务顾问
  • wordpress文章简介东莞网站seo公司