Documentation ¶
Index ¶
- func NewFiberRouter(conf *pkg.Config, db *gorm.DB, svc *Service) *fiber.App
- func NewGinRouter(conf *pkg.Config, db *gorm.DB, svc *Service) *gin.Engine
- func NewMessageConsumer()
- func NewMessageMux(svc *Service)
- func ServeFiber(port string, debug bool, router *fiber.App)
- func ServeGin(port string, handler http.Handler)
- type Infra
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFiberRouter ¶
NewFiberRouter 由於 fiber 本身的限制, error handler 必須分為兩個部分來處理
1. fiber 本身的錯誤: 比如 api route 找不到, 依靠 config.ErrorHandler 進行處理
2. 商業邏輯 service layer 錯誤: 每個 api handler 都必須手動呼叫 adapters.HandleErrorByFiber 商業邏輯錯誤無法依靠 config.ErrorHandler 進行集中處理的原因, 有兩個因素互相影響:
2-1. 所有 mw 執行後 config.ErrorHandler 才會執行. 但 mw 在 handler 之後, 必須取得 http code 2-2. middleware 無法取得 handler route, ref: https://github.com/gofiber/fiber/issues/3138
func NewMessageConsumer ¶
func NewMessageConsumer()
func NewMessageMux ¶
func NewMessageMux(svc *Service)
func ServeFiber ¶
Types ¶
type Service ¶
type Service struct { utility.Transaction utility.EasyTransaction app.UserService }
Click to show internal directories.
Click to hide internal directories.