一种springboot请求参数校验的实现方案

本文探讨了在SpringBoot中实现请求参数校验的多种方案,包括原始的if语句校验、工具类辅助、注解方式以及更高级的应用。特别提到了在自定义过滤器和拦截器场景下,如何通过ValidateUtil工具类实现有效校验,并提供了源码示例。遇到校验不生效的问题,可能与依赖包版本有关,解决方案是调整Maven依赖配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前提引入

很多时候,springboot提供的Restful-api需要根据业务需要进行参数校验,相应的,基于各位码友的习惯,各有各的实现方式,可谓是八仙过海各显神通。

二、常见方案

2.1 一种最原始的方法

通过if语句,对特定参数进行校验

if(null == name){
   
	return "name 不能为空"
}

2.2 借助工具类

稍稍高级一些,可以借助工具类进行组合校验

if(StringUitls.isAnyEmpty(name,userId,address)){
   
	return "必填参数不能为空"
}

2.3 引入依赖包的一般应用,利用注解的方式

springboot为我们提供了相应的依赖包,只需要引入对应的依赖(甚至不需要引入,因为早期版本里spring已经给整合进去了),这里不对注解做过多的讲解,感兴趣的可以各自去阅读具体注解的源码。示例编码如下:

  • 引入依赖(需要的话)
        <!--    注解校验依赖    -->
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
  • controller层应用,在请求体重加入@Validated注解
    @ApiOperation(value = "提交审核")
    @PostMapping("/submit_to_auth")
    public BaseResponse<Boolean> submitAuth(@RequestBody @Validated CopyrightDraftEditQO qo){
   
        DraftEditDTO editDTO = new DraftEditDTO();
        BeanUtils.copyProperties(qo,editDTO)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值