beego注解路由不刷新(不生效)
本文主要说明本人在使用beego的注解路由时不生效问题
背景:
1、按照官网进行注解路由配置,第一次设置路由,完全正确,注解路由可用。
2、修改路由注释后,发现swagger页面并未有对应的更新
3、发现删除commentsRouter_controllers.go文件重新生成,清空浏览器缓存都没效果
分析原因
虽然重新生成了commentsRouter_controllers.go文件,但是swagger文件夹下的swagger.json文件未更新
后经过bee run -downdoc=true -gendoc=true命令重新生成swagger.json文件,但是发现还得清空浏览器缓存才起作用
步骤以及注意事项
1、首先查看main.go文件
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页面,发现及时生效。
还有一个可能性是因为不在GoPath目录下,不能生成。