diff --git a/protocol/rest/server/rest_server.go b/protocol/rest/server/rest_server.go index 60a75bc2795dece68b04b13993bb40d82f680bc7..fbd6fb7ad9dd81f043e4d45ee94a54e12ef89cdd 100644 --- a/protocol/rest/server/rest_server.go +++ b/protocol/rest/server/rest_server.go @@ -160,11 +160,10 @@ func getArgsInterfaceFromRequest(req RestServerRequest, methodConfig *rest_confi } m := make(map[string]interface{}) // TODO read as a slice - if err := req.ReadEntity(&m); err == nil { - argsMap[methodConfig.Body] = m - } else { + if err := req.ReadEntity(&m); err != nil { return nil, perrors.Errorf("[Go restful] Read body entity as map[string]interface{} error:%v", err) } + argsMap[methodConfig.Body] = m } args := make([]interface{}, maxKey+1) for k, v := range argsMap { @@ -236,11 +235,10 @@ func assembleArgsFromBody(methodConfig *rest_config.RestMethodConfig, argsTypes ni = n.Interface() } } - if err := req.ReadEntity(&ni); err == nil { - args[methodConfig.Body] = ni - } else { + if err := req.ReadEntity(&ni); err != nil { return perrors.Errorf("[Go restful] Read body entity error, error is %v", perrors.WithStack(err)) } + args[methodConfig.Body] = ni } return nil }