diff --git a/router/option.go b/router/option.go index 8975ade..57ba8a8 100644 --- a/router/option.go +++ b/router/option.go @@ -44,9 +44,13 @@ func WithDisableInitRequest(disable bool) SetServerOptionFunc { } // WithInitContextData 初始化一些请求数据 -func WithInitContextData(data map[string]any) SetServerOptionFunc { +func WithInitContextData(formatFunc func(ctx *gin.Context) map[string]any) SetServerOptionFunc { return func(so *serverOption) { + if nil == formatFunc { + return + } f := func(ctx *gin.Context) { + data := formatFunc(ctx) for k, v := range data { ctx.Set(k, v) }