GO使用swagger及遇到的坑Failed to load API definition.

本文介绍了如何在Go项目中使用go-swagger来生成和集成Swagger文档,包括安装步骤、在main函数设置Swagger信息、配置路由、注释方法以及解决访问Swagger API定义失败的问题。特别提醒注意在routers文件中导入docs文件路径。
摘要由CSDN通过智能技术生成

先安装go-swagger

go get github.com/go-swagger/go-swagger
cd go-swagger
go install ./cmd/swagger

swag init 可以生成swagger信息,在项目根目录下面的docs文件夹下:
在这里插入图片描述

main函数入口放上swagger基本信息

// @title           VPN
// @version         1.0
// @description     null
// @host      192.168.33.2:8080
// @BasePath  /
func main() {
   
	// 引用数据库
	db.InitDb(false)
	// 引入路由组件
	routers.InitRouter()
}

这里放得信息一般是
在这里插入图片描述
这个位置的信息

在路由位置处

安装依赖

go get swaggerFiles "github.com/swaggo/files"
go get  "github.com/swaggo/gin-swagger"

加上:

r.GET("/swagger/*any", gs.WrapHandler(swaggerFiles.Handler))

重要的来了
要在routers文件上加上刚刚生成的docs文件路径

_ "awesomeProject/docs"
package routers

import (
	"awesomeProject/api/user"
	_ "awesomeProject/docs"
	
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当我们在使用Swagger时出现"No API definition provided"的错误通常是因为Swagger没有找到API定义。这个错误可能由以下几个原因引起: 1. 缺少Swagger注解:在代码中,我们需要使用Swagger的注解来标识API的定义。缺少这些注解会导致Swagger无法正确识别API。我们需要确保在需要暴露的API方法或类上添加正确的Swagger注解。 2. 缺少Swagger配置文件:Swagger通常需要一个配置文件来指示它在哪里寻找API的定义。如果缺少配置文件或配置文件没有正确设置,Swagger将无法找到API定义。我们需要确保Swagger的配置文件存在,并且包含正确的API定义路径。 3. 未正确启动Swagger:在使用Swagger之前,我们需要将它正确地集成到我们的应用程序中。这可能包括添加Swagger依赖项、配置Swagger的启动类或配置文件,并确保正确启动。如果Swagger没有正确启动,它将无法找到API定义。 为了解决这个问题,我们可以采取以下几个步骤: 1. 检查代码中的Swagger注解:确保在需要暴露的API方法或类上使用了正确的Swagger注解,如@Api、@ApiOperation等。 2. 检查Swagger配置文件:检查Swagger的配置文件是否存在,并确保其中包含正确的API定义路径。 3. 检查Swagger的启动过程:确保Swagger正确地集成到应用程序中,并正确启动。检查Swagger的配置类或配置文件,并确保它们被正确加载和启用。 通过这些步骤,我们应该能够解决"No API definition provided"的错误,并让Swagger正确识别和展示我们的API定义。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值