Java校验入参类型并拦截
入参:
{ "name":"zhangsan",
"friends":["json","lily"]
}
上面这种情况,我的DO定义的是:
public class Student{ @NotBlank
private String name;
private List<String> friends;
}
friends
这个参数,我是允许为空的,但是如果传入,一定需要是数组类型,不能是字符串。
比如我把friends
传“json”
字符串的时候,就会引起系统报错。
在php中,是可以验证friends的类型,在验证层做个转换,或者拦截的。
但是在java里,用javax.validation
包,却没有相关的注解。
问了一圈小伙伴,都不会。
假如别人传了一个字符串,就引起系统报错,个人觉得小题大做了,有什么办法可以在验证层就拦截住呢?
回答:
全局异常处理里,处理一下json解析的异常就行
印象里默认会有400的报错的
回答:
你接口用Student接收参数,friends是用的集合接收,如果传一个字符串,接收不到参数噻
以上是 Java校验入参类型并拦截 的全部内容, 来源链接: utcz.com/p/944269.html