fix: goctl genhandler duplicate rest/httpx & goctl genhandler template support custom import httpx package (#2152)

This commit is contained in:
杨圆建
2022-07-19 23:24:47 +08:00
committed by GitHub
parent 2a6f801978
commit bc85eaa9b1
2 changed files with 21 additions and 20 deletions

View File

@@ -23,6 +23,7 @@ var handlerTemplate string
type handlerInfo struct { type handlerInfo struct {
PkgName string PkgName string
ImportPackages string ImportPackages string
ImportHttpxPackage string
HandlerName string HandlerName string
RequestType string RequestType string
LogicName string LogicName string
@@ -49,6 +50,7 @@ func genHandler(dir, rootPkg string, cfg *config.Config, group spec.Group, route
return doGenToFile(dir, handler, cfg, group, route, handlerInfo{ return doGenToFile(dir, handler, cfg, group, route, handlerInfo{
PkgName: pkgName, PkgName: pkgName,
ImportPackages: genHandlerImports(group, route, parentPkg), ImportPackages: genHandlerImports(group, route, parentPkg),
ImportHttpxPackage: fmt.Sprintf("\"%s/rest/httpx\"", vars.ProjectOpenSourceURL),
HandlerName: handler, HandlerName: handler,
RequestType: util.Title(route.RequestTypeName()), RequestType: util.Title(route.RequestTypeName()),
LogicName: logicName, LogicName: logicName,
@@ -99,7 +101,6 @@ func genHandlerImports(group spec.Group, route spec.Route, parentPkg string) str
if len(route.RequestTypeName()) > 0 { if len(route.RequestTypeName()) > 0 {
imports = append(imports, fmt.Sprintf("\"%s\"\n", pathx.JoinPackages(parentPkg, typesDir))) imports = append(imports, fmt.Sprintf("\"%s\"\n", pathx.JoinPackages(parentPkg, typesDir)))
} }
imports = append(imports, fmt.Sprintf("\"%s/rest/httpx\"", vars.ProjectOpenSourceURL))
return strings.Join(imports, "\n\t") return strings.Join(imports, "\n\t")
} }

View File

@@ -3,8 +3,8 @@ package {{.PkgName}}
import ( import (
"net/http" "net/http"
"github.com/zeromicro/go-zero/rest/httpx"
{{.ImportPackages}} {{.ImportPackages}}
{{.ImportHttpxPackage}}
) )
func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc { func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc {