```
routers := gin.New()
routers.Use(gin.Recovery())
```
## 使用路由組中間件進行權限驗證
#### 定義中間件
在 middelware/Auth.go文件中定義token驗證中間件
```go
package middleware
import (
"fmt"
"github.com/gin-gonic/gin"
)
// TOKEN驗證中間件
func AuthMiddleWare() gin.HandlerFunc {
return func(c *gin.Context) {
defer func() {
if r := recover(); r != nil {
fmt.Println("error:", r)
c.Abort()
return
}
}()
token := c.GetHeader("Token")
if token == ""{
fmt.Println("TOKEN驗證失敗")
c.Abort()
return
}
fmt.Println("token", token)
// 進行token驗證
// ...
}
}
```
#### 使用路由組中間件
```go
package router
import (
"github.com/gin-gonic/gin"
"kefu-work/controller/v1"
"kefu-work/middleware"
)
func ApiInit(router *gin.Engine){
router.Use(middleware.AuthMiddleWare())
{
router.Get("/article", v1.Article{}.GetList)
router.POST("/article", v1.Article{}.Write)
}
}
```