Spring MVC项目请求参数校验? 400 报错
在spring mvc项目中,一般请求参数的校验都是通过 hibernate-validator来实现。但是,在有些项目中,譬如APP接口,这时候,某些请求参数不一定是某个特定的bean的字段,可能是多个bean的参数合集,这样我们单单给bean加注解是不行的。 所以,想请问下,大家有没有好的方法,能够方便的实现请求参数的校验?毕竟对每个接口的请求参数一个个遍历校验感觉太笨了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
对于那些比较复杂的而且分散的检验,一般通过一个DTO收集后,使用一个统一的validator做处理,之后再以Spring的整合方式抛出异常。
######嗯。现在的做法就是,针对每个请求封装请求参数DTO,然后利用hibernate-validator对每个DTO进行参数校验,以此来达到目的。虽然这种方法也不太优美,但真想不出什么好的方法了。######直接用map接收参数
######貌似行业内很少出现服务端表单校验框架,前端倒是有些知名的,坐等大神答案
######同求。前台校验 接口暴露的话会很危险
######
解决了没,我们也是用的map只校验是否为空,其他自己校验
######我觉得可以根据具体的需求来校验请求的参数吧,比如有的需求只要有值就可以,不需要知道参数的准确性,有的对参数有严格的要求,比如那些支付接口,就有很多参数,我也很无奈,后台一个个校验,哎·
######你这种情况很正常。mvc相比ddd的缺陷也就是在这里。比较直接的方法是,controller这边封装一个form对象作为参数,然后再拆解。更进一步是,封装的form里可以再引用你原有的那些bean。这样就可以了######
看了楼主问题,和其他人回答,没有太明白:
spring支持hibernate-validator和JSR,还可以自定义验证标签,验证器可以对象多层验证,也可以支持分组groups!不知道大伙说的什么缺陷,麻烦知道的可以描述下,谢谢...