#go #middleware
#Вперед #Промежуточное программное обеспечение
Вопрос:
Вы знаете, когда я пишу промежуточное программное обеспечение для обработки журнала, я помещаю перед ним промежуточное программное обеспечение для обработки ресурсов (например, handle GET), и я публикую свой код здесь, надеюсь, что кто-нибудь сможет мне помочь. Спасибо.
v1Group := s.router.Group("/v1")
v1Group.Use(v1.newOtherHandler().Handle) //handle other things
v1Group.Use(v1.NewUserHandler().Handle) //handle user
{
v1.NewhandleResource(v1Group) //handle resource
}
v1Group.Use(v1.newLogHandler.Handle) //handle log
Я использую router.Set(«demo») и router.Get(«demo») для передачи значения ресурса дескриптора для обработки функции журнала. Но программа не смогла выполнить обработку журнала. Что-нибудь в v1.newLogHandler.Функция дескриптора не обрабатывается. когда я помещаю обработчик журнала в обработчик ресурсов, он может быть выполнен. Итак, вы можете просто подумать, что любое промежуточное программное обеспечение в обработчике ресурсов не может быть выполнено. Вот почему?
Комментарии:
1. Вы пропустили скобки () или это просто опечатка?
2. На самом деле, это не опечатка. newLogHandler здесь является значением структуры. Handle — это его метод. Тогда who has () — это функция, которая возвращает значение структуры.