package biz import ( "context" "fmt" "github.com/tx7do/kratos-transport/broker" ) type ExampleStruct struct { Name string `json:"name"` ID int `json:"id"` } func ExampleCreator() broker.Any { return &ExampleStruct{} } type ExmapleHandler func(_ context.Context, topic string, headers broker.Headers, msg *ExampleStruct) error func RegisterExampleHandler(fnc ExmapleHandler) broker.Handler { return func(ctx context.Context, event broker.Event) error { if event.Error() != nil { return event.Error() } msg, ok := event.Message().Body.(*ExampleStruct) if !ok { return fmt.Errorf("[Kafka] unsupported type: %T", event.Message().Body) } if err := fnc(ctx, event.Topic(), event.Message().Headers, msg); err != nil { return err } return nil } }