package router import ( "electricity_bill_calc/controller" "electricity_bill_calc/response" "log" "runtime/debug" "github.com/gin-gonic/gin" ) func Router() *gin.Engine { router := gin.Default() router.Use(Recover) router.Use(SessionRecovery) controller.InitializeUserController(router) return router } // 404 func HandleNotFound(c *gin.Context) { response.NewResult(c).NotFound("指定资源未找到。") } // 500 func Recover(c *gin.Context) { defer func() { if r := recover(); r != nil { //打印错误堆栈信息 log.Printf("panic: %v\n", r) debug.PrintStack() response.NewResult(c).Error(500, "服务器内部错误") } }() //继续后续接口调用 c.Next() }