栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

beego配置使用swagger

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

beego配置使用swagger

beego配置并使用swagger 一.安装配置

1.创建命令创建Beego-swagger项目 bee new beege-swagger
2.在项目下终端运行 bee run -gendoc=true -downdoc=true 启动项目并自动生成加载swagger

3.修改conf/app.conf文件,添加 EnableDocs = true 配置,开启文档自动生成

4.在router中配置swagger路由(必配 否则无法访问)

func init() {
	ns :=
		beego.NewNamespace("",          //base_url为:http://localhost:8080
			beego.NSNamespace("/user",  //分组 user组的base_url为:http://localhost:8080/user
				beego.NSInclude(
					&controllers.UserController{}, //user组对应的controller
				),
			),
		)
	beego.AddNamespace(ns)
	beego.SetStaticPath("/swagger", "swagger")  // 访问 http://localhost:8080/swagger即可看到swagger页面
	
	beego.Router("/user/register", &controllers.UserController{}, "post:UserRegister")
	beego.Router("/user/login", &controllers.UserController{}, "post:UserLogin")
	beego.Router("/user/info", &controllers.UserController{}, "get:UserInfo")
	}
二.router上常用swagger标签含义及使用方法
// Package routers @APIVersion 1.0.0
// @Title plant_store
// @Description plant_store APIs
// @Contact 604862834@qq.com
package routers

@APIVersion:自己指定版本
@Title:标题
@Description:描述
@Contact:联系邮箱

设置生成效果如下:

三.controller上常用swagger标签含义及使用方法
// @Title 注册
// @Description 用户注册接口
// @Param name1 formData string false "姓"
// @Param name2 formData string false "名"
// @Param email formData string false "邮箱"
// @Param phone formData string false "手机号码"
// @Param password formData string false "密码"
// @Success 200 {object} models.Json
// @Failure 500 {object} models.Json
// @router /register [post]
func (c *UserController) UserRegister() {}

上例为注册controller
@Title:标题
@Description:描述
@Param:传入的参数
该标签有五个属性,使用空格或者 tab 分割,五个属性分别表示的含义如下:
1.参数名
2.参数类型(formData、query、path、body、header),formData 表示是 post 请求的数据,query 表 示带在 url 之后的参数,path 表示请求路径上得参数,header 表示带在 header 信息中得参数,body表示是一个raw数据请求,比如结构体的方式传递。
3.参数数据类型(int、string…)
4.是否为必填项(true/false)
5.参数注释
@Success:成功返回的信息
该标签有三个属性,使用空格或者 tab 分割,三个属性分别表示的含义如下:
1.状态码
2.返回值类型 注意:必须用{}包裹起来 如:{string}、{int}、{object}
3.返回值 如果是 {object} 类型,那么 bee 工具在生成 docs 的时候会扫描对应的对象
@Failure:失败返回的信息
该标签有三个属性,使用空格或者 tab 分割,三个属性分别表示的含义如下:
1.状态码
2.返回值类型 注意:必须用{}包裹起来 如:{string}、{int}、{object}
3.返回值 如果是 {object} 类型,那么 bee 工具在生成 docs 的时候会扫描对应的对象
@router:路由信息
该标签有两个属性,使用空格或者 tab 分割,两个属性分别表示的含义如下:
1.请求的路由地址,支持正则和自定义路由
2.请求的类型 注意:必须用[]包裹起来 如:[get]、[post]

上例注册controller配置后如下图:

使用方法:
1.点击Try it out
2.传递参数
3.点击Execute发送请求
最终得到响应如下图:

END…

现有beego配置swagger教程较少,希望可以有所帮助…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993592.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号