- 本文主要說明本人在使用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頁面,發現及時生效。