beego使用swagger|青训营笔记

183 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天

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...