在Golang's Echo中,e.Pre
和e.Use
有什么区别?
例如在本代码中
e.Use(middleware.Logger())
e.Use(middleware.Recover())
e.Pre(middleware.RemoveTrailingSlash())
为什么不直接
e.Use(middleware.Logger())
e.Use(middleware.Recover())
e.Use(middleware.RemoveTrailingSlash())
甚至
e.Pre(middleware.Logger())
e.Pre(middleware.Recover())
e.Pre(middleware.RemoveTrailingSlash())
1条答案
按热度按时间8cdiaqws1#
根据Echo's documentation on Middlewares:
使用
Echo#Use()
注册的中间件仅对在调用Echo#Use()
之后注册的路径执行。...
Echo#Pre()
可用于注册在路由器处理请求之前执行的中间件。对请求属性进行任何更改都很有帮助,例如,添加或删除路径中的尾部斜杠,使其与路由匹配。