electricity_bill_calc_service/router/router.go

50 lines
1.2 KiB
Go

package router
import (
"electricity_bill_calc/controller"
"electricity_bill_calc/response"
"electricity_bill_calc/security"
"log"
"runtime/debug"
"github.com/gin-gonic/gin"
)
func Router() *gin.Engine {
router := gin.Default()
router.Use(Recover)
router.Use(security.SessionRecovery)
controller.InitializeUserController(router)
controller.InitializeRegionController(router)
controller.InitializeChargesController(router)
controller.InitializeParkController(router)
controller.InitializeMaintenanceFeeController(router)
controller.InitializeMeter04kVController(router)
controller.InitializeReportController(router)
controller.InitializeEndUserController(router)
controller.InitializeWithdrawController(router)
controller.InitializeStatisticsController(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()
}