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: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…
标签:
相关文章
-
无相关信息