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…

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值