时间:2021-05-20
前言
由于刚写项目不久,在写 web 后台接口时,经常会对前端传入的参数进行一些规则校验,如果入参较少还好,一旦需要校验的参数比较多,那么使用 if 校验会带来大量的重复性工作,并且代码看起来会非常冗余,所以我首先想到能否通过一些手段改进这点,让 Controller 层减少参数校验的冗余代码,提升代码的可阅读性。
经过阅读他人的代码,发现使用 annotation 注解是一个比较方便的手段,SpringBoot 自带的 @RequestParam 注解只会校验请求中该参数是否存在,但是该参数是否符合一些规格比如不为 null 且不为空就无法进行判断的,所以我们可以尝试一下增强请求参数中的注解。
准备工作
有了前面的思路,我们先搭一个架子出来。
pom.xml 文件如下:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://mon.Result;import cn.bestzuo.springbootannotation.enums.EnumResultCode;public class ResponseMsgUtil { /** * 根据消息码等生成接口返回对象 * * @param code 结果返回码 * @param msg 结果返回消息 * @param data 数据对象 * @param <T> 泛型 * @return 包装对象 */ public static <T> Result<T> builderResponse(int code, String msg, T data) { Result<T> res = new Result<>(); res.setResCode(code); res.setResMsg(msg); res.setData(data); return res; } /** * 请求异常返回结果 * * @param <T> 泛型 * @return 包装对象 */ public static <T> Result<T> exception() { return builderResponse(EnumResultCode.INTERNAL_SERVER_ERROR.getCode(), "服务异常", null); }}以上就是SpringBoot中自定义注解实现参数非空校验的示例的详细内容,更多关于SpringBoot 参数非空校验的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍基于springboot和jdk8编写一个aop,结合自定义注解实现通用的接口参数校验。缘由目前参数校验常用的方法是在实体类上添加注解,但对于不同的方法
本文讲述springboot整合springsecurity在方法上使用注解实现权限控制,使用自定义userdetailservice,从mysql中加载用户信
springmvc自定义注解以及自定义注解的解析一、自定义注解名字@Target({ElementType.TYPE,ElementType.METHOD})/
本文介绍了SpringBoot通过AOP和自定义注解实现权限控制,分享给大家,具体如下:源码:https://github.com/yulc-coding/ja
日常开发,我们可能会为了安全问题,保证第三方无法通过伪造返回报文欺骗前端,需要在返回报文中添加自定义参数,用于验证身份,后端添加自定义参数,前端校验自定义参数通