You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cloudreve/routers/controllers/main.go

26 lines
542 B

package controllers
import (
"Cloudreve/serializer"
"encoding/json"
"fmt"
"gopkg.in/go-playground/validator.v8"
)
// ErrorResponse 返回错误消息
func ErrorResponse(err error) serializer.Response {
if ve, ok := err.(validator.ValidationErrors); ok {
for _, e := range ve {
return serializer.ParamErr(
fmt.Sprintf("%s %s", e.Field, e.Tag),
err,
)
}
}
if _, ok := err.(*json.UnmarshalTypeError); ok {
return serializer.ParamErr("JSON类型不匹配", err)
}
return serializer.ParamErr("参数错误", err)
}