素材巴巴 > 程序开发 >

beego配置使用swagger

程序开发 2023-09-19 10:19:43

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:8080beego.NSNamespace("/user",  //分组 user组的base_url为:http://localhost:8080/userbeego.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…


标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。