gRPC学习之六:gRPC-Gateway集成swagger,java初级面试题目

本文是gRPC学习系列的第六篇,介绍了如何将gRPC服务与gRPC-Gateway结合,并提供swagger在线文档。文章详细阐述了从新建工程、安装go包、编写proto文件到生成相关源码和json文件,以及集成swagger-ui的完整流程,最终实现gRPC服务的http调用和swagger-ui的在线接口服务。
摘要由CSDN通过智能技术生成
  1. 初试GO版gRPC开发

  2. 实战四类服务方法

  3. gRPC-Gateway实战

  4. gRPC-Gateway集成swagger

本篇概览

  • 本文《gRPC学习》系列的第六篇,前文咱们实战了gRPC-Gateway,将gRPC服务以RESTful形式对外暴露,当时由于篇幅所限没有完成swagger集成,本篇来完成这个工作:开发gRPC服务,为其提供gRPC-Gateway,并提供在线swagger服务;

  • 本文由以下章节构成,这也是gRPC-Gateway集成swagger的常规流程:

  1. 提前预览关键知识点;

  2. 新建工程文件夹;

  3. 安装必要的go包;

  4. 编写proto文件,使swagger支持http(默认是https);

  5. 生成gRPC、gRPC-Gateway所需的go源码;

  6. 生成swagger所需的json文件;

  7. 下载swagger-ui的源码,以此生成go源码;

  8. 编写gRPC的服务端代码;

  9. 编写gRPC-Gateway服务端的代码;

  10. 验证;

  • 注意,本文的所有操作都没有用到root账号,而是前文创建的golang账号;

源码下载

  • 本篇实战中的源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):

| 名称 | 链接 | 备注 |

| :-- | :-- | :-- |

| 项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 |

| git仓库地址(https) | https://github.com/zq2599/blog_demos.git | 该项目源码的仓库地址,https协议 |

| git仓库地址(ssh) | git@github.com:zq2599/blog_demos.git | 该项目源码的仓库地址,ssh协议 |

  • 这个git项目中有多个文件夹,本章的应用在go-source文件夹下,如下图红框所示:

在这里插入图片描述

  • go-source里面有多个子文件夹,本篇的源码在swaggerdemo中,如下图红框:

在这里插入图片描述

提前预览关键知识点

在gRPC-Gateway集成swagger服务的过程并不简单,咱们将其中的重点提前看一下,做到心里有数:

  1. 为了简化实战过程,gRPC-Gateway暴露的服务并未使用https,而是http,但是swagger-ui提供的调用服务却是https的,因此要在proto文件中指定swagger以http调用服务,指定的时候会用到文件protoc-gen-swagger/options/annotations.proto,因此需要找到这个文件对应的包,放在合适的位置;

  2. swaggerdemo.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值