Some problem about "hz update"
ChinaPhpZyp opened this issue · comments
Zyp丶 commented
Describe the Question
A clear and concise description of what the question is.
Expected behavior
Steps to reproduce the behavior:
- At first, we have a service called "getCustomerMessageList" with route is "/seller/customer/message/list" . The route have the function for middle is "message0Mv()"
- Some time later, the other teammate write a service called "userAndCustomerList" with route is "/message/customer".
- The getCustomerMessageList's router will change to bind "message1Mv()", and "message0Mv()" will be bind by the userAndCustomerList.
- Then the route will be useless because the middleware is Auth Validate
I just want to ask some ways to deal this . Maybe the "thirft" file can support to wirte the relation of the route and the middleware
Screenshots
func _message0Mw() []app.HandlerFunc {
return nil
}
func _message2Mw() []app.HandlerFunc {
// your code...
return []app.HandlerFunc{
jwt.JWTAuth(config.GlobalServerConfig.JWTInfo.SigningKey),
}
}
Hertz version:
hz version v0.8.1
GuangyuFan commented
@ChinaPhpZyp
这个可能是由于解析 "路由树" 时没有严格排序带来的极端case
在最新版本,我们加入了一个新的选项 "-sort_router",他会对路由树进行严格的排序,确保你每次 update 后的路由都是确定的,避免随机性。 但是他可能会对当前的 router.go 的格式带来一些变化,但是不会影响路由注册的正确性