fix: bind issues
This commit is contained in:
@@ -80,6 +80,12 @@ func Render(path string, routes []RouteDefinition) error {
|
||||
return fmt.Sprintf(`Body[%s]("%s")`, item.Type, item.Name), true
|
||||
case PositionPath:
|
||||
return fmt.Sprintf(`Path[%s]("%s")`, item.Type, item.Name), true
|
||||
case PositionLocal:
|
||||
key := item.Name
|
||||
if item.Key != "" {
|
||||
key = item.Key
|
||||
}
|
||||
return fmt.Sprintf(`Local[%s]("%s")`, item.Type, key), true
|
||||
}
|
||||
return "", false
|
||||
}),
|
||||
|
||||
@@ -53,6 +53,8 @@ func positionFromString(v string) Position {
|
||||
return PositionHeader
|
||||
case "cookie":
|
||||
return PositionCookie
|
||||
case "local":
|
||||
return PositionLocal
|
||||
}
|
||||
panic("invalid position: " + v)
|
||||
}
|
||||
@@ -64,6 +66,7 @@ const (
|
||||
PositionBody Position = "body"
|
||||
PositionHeader Position = "header"
|
||||
PositionCookie Position = "cookie"
|
||||
PositionLocal Position = "local"
|
||||
)
|
||||
|
||||
func ParseFile(file string) []RouteDefinition {
|
||||
@@ -175,11 +178,14 @@ func ParseFile(file string) []RouteDefinition {
|
||||
usedImports[recvType] = append(usedImports[recvType], imports[pkgName[0]])
|
||||
}
|
||||
|
||||
typ = strings.TrimPrefix(typ, "*")
|
||||
|
||||
for _, name := range param.Names {
|
||||
for i, bindParam := range bindParams {
|
||||
if bindParam.Name == name.Name {
|
||||
|
||||
if bindParams[i].Position != PositionLocal {
|
||||
typ = strings.TrimPrefix(typ, "*")
|
||||
}
|
||||
|
||||
bindParams[i].Type = typ
|
||||
break
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user