Skip to content

About middleware dependency #5252

@ethantsien

Description

@ethantsien

生成的代码中,logic包依赖svc包,svc包又依赖middleware包,那么由于循环依赖的问题,middleware中就根本不可能调用logic包中的代码。

我觉得不应该把middleware的实例放在ServiceContext中,而是应该让middleware依赖svc包,把ServiceContext传入middleware来初始化,
handler/routes.go中应该生成这样的代码rest.Middleware{middleware.NewFooMiddleware(serverCtx).Handle},而不是现在这样rest.Middleware{serverCtx.FooMiddleware}


再补充个理由:
既然handler是依赖svc包的,middleware和handler有一样的行为,也应该是让middleware依赖svc,而不是svc包依赖middleware

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions