swagger-api

module
v0.0.0-...-961ac44 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2025 License: MIT

README

swagger-api

Quick Start

在项目中引入openapiv2

import	"github.com/guihouchang/swagger-api/openapiv2"

h := openapiv2.NewHandler()
//将/q/路由放在最前匹配
httpSrv.HandlePrefix("/q/", h)

支持generator进行自定义配置

h := openapiv2.NewHandler(openapiv2.WithGeneratorOptions(generator.UseJSONNamesForFields(true), generator.EnumsAsInts(true)))

更多配置参见 https://github.com/go-kratos/grpc-gateway/blob/master/protoc-gen-openapiv2/generator/option.go

启动应用后,在浏览器中输入 http://<ip>:<port>/q/services,在顶栏右侧选框选取希望查看的服务名,即可浏览接口文档。 select service

FAQ

1. 如果启动时顶栏选框未显示可选的服务名,或访问/q/services出现报错,failed to decompress enc: bad gzipped descriptor: EOF的报错说明部分依赖的proto文件生成的路径不对导致的,

比如:

  • api/basedata/tag/v1/tag.proto
  • api/basedata/article/v1/article.proto

api/basedata/article/v1/article.proto import "api/basedata/tag/v1/tag.proto"时 ,生成的依赖为api/basedata/tag/v1/tag.proto 但是 tag.proto 生成的tag.pb.go文件中source是tag.proto(漏掉了api/basedata/tag/v1/)导致了依赖未找到

此时需要生成tag.pb.go时kratos proto client api/basedata/tag/v1/tag.proto 补全proto的路径,这样生成的tag.pb.go文件中source就是正确的(api/basedata/tag/v1/tag.proto)

2. 给swagger api添加说明、examples

请参考a_bit_of_everything,同时注意需要将annotations.protoopenapiv2.proto这两个proto文件复制到third_party/protoc-gen-openapiv2/options目录下

Directories

Path Synopsis
examples
* @Author: guihouchang guihouchang@163.com * @Date: 2025-10-29 15:59:57 * @LastEditors: guihouchang guihouchang@163.com * @LastEditTime: 2025-10-29 16:09:48 * @FilePath: /swagger-api/openapiv2/swagger_ui_template.go * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @Author: guihouchang guihouchang@163.com * @Date: 2025-10-29 15:59:57 * @LastEditors: guihouchang guihouchang@163.com * @LastEditTime: 2025-10-29 16:09:48 * @FilePath: /swagger-api/openapiv2/swagger_ui_template.go * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL