feat: rest validation on http requests (#3041)

This commit is contained in:
Kevin Wan
2023-03-19 20:04:18 +08:00
committed by GitHub
parent 18d163c4f7
commit 6170d7b790
4 changed files with 32 additions and 2 deletions

View File

@@ -7,6 +7,7 @@ import (
"sync/atomic"
"github.com/zeromicro/go-zero/core/mapping"
"github.com/zeromicro/go-zero/core/validation"
"github.com/zeromicro/go-zero/rest/internal/encoding"
"github.com/zeromicro/go-zero/rest/internal/header"
"github.com/zeromicro/go-zero/rest/pathvar"
@@ -51,7 +52,9 @@ func Parse(r *http.Request, v any) error {
return err
}
if val := validator.Load(); val != nil {
if valid, ok := v.(validation.Validator); ok {
return valid.Validate()
} else if val := validator.Load(); val != nil {
return val.(Validator).Validate(r, v)
}