- 本文主要说明本人在使用beego的注解路由时不生效问题
背景:
- 1、按照官网进行注解路由配置,第一次设置路由,完全正确,注解路由可用。
- 2、修改路由注释后,发现swagger页面并未有对应的更新
- 3、发现删除commentsRouter_controllers.go文件重新生成,清空浏览器缓存都没效果
分析原因
- 虽然重新生成了commentsRouter_controllers.go文件,但是swagger文件夹下的swagger.json文件未更新
- 后经过bee run -downdoc=true -gendoc=true命令重新生成swagger.json文件,但是发现还得清空浏览器缓存才起作用
步骤以及注意事项
package main
import (
_ "yourApp/routers" // 缺少此行时,我无法自动生成 commentsRouter_controllers.go 文件
"github.com/astaxie/beego"
)
func main() {
if beego.BConfig.RunMode == "dev" {
// 在beego.Run之前要配置swagger
beego.BConfig.WebConfig.DirectoryIndex = true
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
}
beego.Run()
}
- 2、因为第一条中的配置仅在dev模式下生效,于是修改app.conf文件
runmode = dev
- 3、其它的地方,都跟官网一样即可,现在修改路由注释
- 4、之后执行bee run -downdoc=true -gendoc=true 而不是 bee run
- 5、清空浏览器缓存
- 6、刷新swagger页面,发现及时生效。