Это ошибка, которую я получаю при попытке создать приложение.
Я использую Gorilla mux в качестве маршрутизатора, а Алису - для связывания промежуточного программного обеспечения.
И я определил пользовательский введите «Middleware» со следующей подписью:
type Middleware func(http.Handler) http.Handler
И ниже приведен код, в котором я связываю связующее ПО и обработчик, используя Алису.
if len(config.Middlewares()) > 0 {
subRouter.Handle(config.Path(), alice.New(config.Middlewares()...).Then(config.Handler())).Methods(config.Methods()...).Schemes(config.Schemes()...)
}
Но когда я пытаюсь build, я получаю следующую ошибку в консоли:
infrastructure/router.go:88:63: cannot use config.Middlewares() (type []Middleware) as type []alice.Constructor in argument to alice.New
Я проверил код для alice.Constructor. Он также имеет ту же подпись, что и мой тип Middleware.
Я использую Go 1.13 и следующую версию Алисы.
github.com/justinas/alice v1.2.0
Не могли бы вы, пожалуйста помогите разобраться с этим?