|
@@ -46,6 +46,12 @@ func (item *BindItem[O]) bind(binder *Binder, middlewares ...api.Handler) {
|
|
|
// 有请求数据
|
|
// 有请求数据
|
|
|
if item.RequestParams != nil {
|
|
if item.RequestParams != nil {
|
|
|
requestParamsType := reflect.TypeOf(item.RequestParams)
|
|
requestParamsType := reflect.TypeOf(item.RequestParams)
|
|
|
|
|
+ if !reflectutils.IsTypeStructOrStructPointer(requestParamsType) {
|
|
|
|
|
+ var outputZero O
|
|
|
|
|
+ item.ResponseFunc(c, http.StatusOK, outputZero, fserr.New("请求参数不是结构或结构指针"))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if requestParamsType.Kind() == reflect.Pointer {
|
|
if requestParamsType.Kind() == reflect.Pointer {
|
|
|
params = reflect.New(requestParamsType.Elem()).Interface().(request.Params)
|
|
params = reflect.New(requestParamsType.Elem()).Interface().(request.Params)
|
|
|
} else {
|
|
} else {
|
|
@@ -115,11 +121,14 @@ func (item *BindItem[O]) bind(binder *Binder, middlewares ...api.Handler) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
obj := reflect.New(reflectutils.PointerTypeElem(objectType)).Interface()
|
|
obj := reflect.New(reflectutils.PointerTypeElem(objectType)).Interface()
|
|
|
- err := request.AssignRequestParamsToDomainObject(params, obj)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- var outputZero O
|
|
|
|
|
- item.ResponseFunc(c, http.StatusOK, outputZero, err)
|
|
|
|
|
- return
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if params != nil {
|
|
|
|
|
+ err := request.AssignRequestParamsToDomainObject(params, obj)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ var outputZero O
|
|
|
|
|
+ item.ResponseFunc(c, http.StatusOK, outputZero, err)
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
domainObjects = append(domainObjects, obj)
|
|
domainObjects = append(domainObjects, obj)
|