beego api - swagger doc

本文详细介绍如何在 Beego 框架下为项目生成 API 文档,包括使用 beegoapidoc 命令创建新项目,以及为现有项目添加 Swagger 文档。通过修改配置、注解和执行特定命令,实现 API 文档的自动生成和浏览器测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.beego api doc

对于新建项目,使用api文档,可使用以下命令
bee api apiTests  //该方法用于创建带有api-doc的项目,即新建项目
bee run -gendoc=true -downdoc=true
//浏览器测试
http://localhost:s8080/swagger //有时会遇到跨域的问题,使用127.0.0.1
http://127.0.0.1:8080/swagger/

对于已经存在的项目,需要增加swagger-doc,可按以下步骤来:

(1.)修改配置app.conf中

appname = project
httpport = 8080
runmode = dev
autorender = false
copyrequestbody = true
EnableDocs = true  //关键
sqlconn =

(2.)main函数中新增

if beego.BConfig.RunMode == "dev" {
	beego.BConfig.WebConfig.DirectoryIndex = true
	beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
}

(3.)router.go中新增
在行首新增

// @APIVersion 1.0.0
// @Title beego Test API
// @Description beego has a very cool tools to autogenerate documents for your API
// @Contact astaxie@gmail.com
// @TermsOfServiceUrl http://beego.me/
// @License Apache 2.0
// @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.html

修改router.go中init函数,修改为自己的controller对象

ns := beego.NewNamespace("/v1",
		beego.NSNamespace("/object",
			beego.NSInclude(
				&controllers.ObjectController{},
			),
		),
		beego.NSNamespace("/user",
			beego.NSInclude(
				&controllers.UserController{},
			),
		),
	)
	beego.AddNamespace(ns)

(4.)controller类上加注解

// @Title CreateUser
// @Description create users
// @Param	body		body 	models.User	true		"body for user content"
// @Success 200 {int} models.User.Id
// @Failure 403 body is empty
// @router / [post]
func (u *UserController) Post() {
	var user models.User
	json.Unmarshal(u.Ctx.Input.RequestBody, &user)
	uid := models.AddUser(user)
	u.Data["json"] = map[string]string{"uid": uid}
	u.ServeJSON()
}

(5.)执行以下命令:

bee run -gendoc=true -downdoc=true
//测试
http://localhost:s8080/swagger //有时会遇到跨域的问题,使用127.0.0.1
http://127.0.0.1:8080/swagger/

(6.)其他,使用swagger插件

Settings --> Plugins --> Swagger Plugins || Swagger Codegen

即可在本地编写yaml 格式的Swagger配置文件,左边配置,右边可视化。

相关链接

https://beego.me/docs/advantage/docs.mdhttps://doc.xuwenliang.com/docs/beego_cn/625https://my.oschina.net/astaxie/blog/284072#h2_2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值