goctl template模板的使用
goctl template模板的使用
# 在指定目录下生成模板
goctl template init --home ./template
# 使用指定模板生成代码
goctl api go -api ./auth/auth_api/auth.api -dir ./auth/auth_api --home ./template
示例:修改handler.tpl
package {{.PkgName}}
import (
	"net/http"
    {{if .HasRequest}}
	"github.com/zeromicro/go-zero/rest/httpx"
	{{end}}
	{{.ImportPackages}}
	"im_server/common/response"
)
{{if .HasDoc}}{{.Doc}}{{end}}
func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc {
	return func(w http.ResponseWriter, r *http.Request) {
		{{if .HasRequest}}var req types.{{.RequestType}}
		if err := httpx.Parse(r, &req); err != nil {
			response.Response(w, r, nil, err)
			return
		}
		{{end}}l := {{.LogicName}}.New{{.LogicType}}(r.Context(), svcCtx)
		{{if .HasResp}}resp, {{end}}err := l.{{.Call}}({{if .HasRequest}}&req{{end}})
		{{if .HasResp}}response.Response(w, r, resp, err){{else}}response.Response(w, r, nil, err){{end}}
	}
}
条件判断是否编写
{{if .HasRequest}}xxxxxxxxxxx{{end}}
{{else}}xxxxxxxxxxx{{end}}
修改内容
"im_server/common/response" 是我需要添加的包
response.Response(w, r, nil, err) 是我添加的代码
{{if .HasResp}}response.Response(w, r, resp, err){{else}}response.Response(w, r, nil, err){{end}} 是根据条件判断是否添加的代码
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号