fusenapi/goctl_template/api/handler.tpl

34 lines
715 B
Smarty
Raw Normal View History

2023-06-05 09:56:55 +00:00
package {{.PkgName}}
import (
"net/http"
2023-07-20 08:32:41 +00:00
"reflect"
2023-07-20 07:21:03 +00:00
2023-06-12 09:28:49 +00:00
"fusenapi/utils/basic"
2023-06-05 09:56:55 +00:00
{{.ImportPackages}}
)
func {{.HandlerName}}(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
2023-06-14 10:17:45 +00:00
2023-06-05 09:56:55 +00:00
{{if .HasRequest}}var req types.{{.RequestType}}
2023-07-20 07:21:03 +00:00
userinfo, err := basic.RequestParse(w, r, svcCtx, &req)
if err != nil {
2023-06-05 09:56:55 +00:00
return
}
2023-07-20 07:21:03 +00:00
2023-06-12 07:17:42 +00:00
// 创建一个业务逻辑层实例
2023-06-05 09:56:55 +00:00
{{end}}l := {{.LogicName}}.New{{.LogicType}}(r.Context(), svcCtx)
2023-07-20 08:32:41 +00:00
rl := reflect.ValueOf(l)
basic.BeforeLogic(w, r, rl)
2023-06-12 09:17:57 +00:00
{{if .HasResp}}resp{{end}} := l.{{.Call}}({{if .HasRequest}}&req, {{end}}userinfo)
2023-07-20 07:21:03 +00:00
2023-07-21 02:28:17 +00:00
if !basic.AfterLogic(w, r, resp, rl) {
basic.NormalAfterLogic(w, r, resp)
}
2023-06-05 09:56:55 +00:00
}
}