mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-02-02 16:28:39 +08:00
fix:duplicate route check (#2154)
Co-authored-by: 黄志荣 <huangzhirong@shuinfo.com>
This commit is contained in:
parent
edbf1a3b63
commit
685d14e662
@ -232,20 +232,27 @@ func (p *Parser) invoke(linePrefix, content string) (v *Api, err error) {
|
||||
|
||||
// storeVerificationInfo stores information for verification
|
||||
func (p *Parser) storeVerificationInfo(api *Api) {
|
||||
routeMap := func(list []*ServiceRoute) {
|
||||
routeMap := func(list []*ServiceRoute, prefix string) {
|
||||
for _, g := range list {
|
||||
handler := g.GetHandler()
|
||||
if handler.IsNotNil() {
|
||||
handlerName := handler.Text()
|
||||
p.handlerMap[handlerName] = Holder
|
||||
route := fmt.Sprintf("%s://%s", g.Route.Method.Text(), g.Route.Path.Text())
|
||||
route := fmt.Sprintf("%s://%s", g.Route.Method.Text(), path.Join(prefix, g.Route.Path.Text()))
|
||||
p.routeMap[route] = Holder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for _, each := range api.Service {
|
||||
routeMap(each.ServiceApi.ServiceRoute)
|
||||
var prefix string
|
||||
if each.AtServer != nil {
|
||||
pExp := each.AtServer.Kv.Get(prefixKey)
|
||||
if pExp != nil {
|
||||
prefix = pExp.Text()
|
||||
}
|
||||
}
|
||||
routeMap(each.ServiceApi.ServiceRoute, prefix)
|
||||
}
|
||||
|
||||
for _, each := range api.Type {
|
||||
|
Loading…
Reference in New Issue
Block a user