项目中需要进行参数验证是件很平常的事儿,Validation框架也已经帮我们做的很好了。但是,为了更贴近业务需求又或者不想为了验证而去写个Bean,所以还是想自己实现个简单的验证功能。项目基于SpringBoot,具体怎么搭建没啥好说的了,下面挑涉及到的几个点,截取项目中的部分代码来展示下是如何实现的。
全局异常处理
之所以提到全局异常处理,是因为若参数验证失败,抛出IllegalArgumentException来反馈给客户端。
自定义Annotation
自定义Annotation作用于Controller的参数上。
实现处理逻辑
处理具体的验证逻辑,下面只是示例,具体逻辑自己定。
Controller中使用Annotation
|
|
随便测试下输出结果:{“code”:400,”msg”:”Required parameter ‘type’ is not present”}
学艺不精,以后有好的方式再改。