处理入参_SpringBoot 2.X Kotlin系列之数据校验和异常处理

本文介绍了如何在SpringBoot 2.x Kotlin应用中进行数据校验和异常处理,包括定义实体的校验注解、自定义异常、统一返回结构体、全局异常处理、编写校验工具、抽象校验方法以及自定义校验规则的实现。通过具体的代码示例展示了如何处理传入参数的空值、错误参数等问题,并提供了正确示例。
摘要由CSDN通过智能技术生成

7174ca05e197c21bebd0cbdf2f696510.png
在开发项目时,我们经常需要在前后端都校验用户提交的数据,判断提交的数据是否符合我们的标准,包括字符串长度,是否为数字,或者是否为手机号码等;这样做的目的主要是为了减少SQL注入攻击的风险以及脏数据的插入。提到数据校验我们通常还会提到异常处理,因为为了安全起见,后端出现的异常我们通常不希望直接抛到客户端,而是经过我们的处理之后再返回给客户端,这样做主要是提升系统安全性,另外就是给予用户友好的提示。

定义实体并加上校验注解

class StudentForm() {
    
    
    @NotBank(message = '生日不能为空')
    var birthday: String = ""

    @NotBlank(message = "Id不能为空")
    var id:String = ""

    @NotBlank(message = "年龄不能为空")
    var age:String = ""

    @NotEmpty(message = "兴趣爱好不能为空")
    var Interests:List<String> = Collections.emptyList()

    @NotBlank(message = "学校不能为空")
    var school: String = ""
    override fun toString(): String {
    
        return ObjectMapper().writeValueAsString(this)
    }
}

这里首先使用的是基础校验注解,位于javax.validation.constraints下,常见注解有@NotNull@NotEmpty@Max@Email@NotBank@Size@Pattern,当然出了这些还有很多注解,这里就不在一一讲解,想了解更多的可以咨询查看jar包。

这里简单讲解一下注解的常见用法:

  • @NotNull: 校验一个对象是否为Null
  • @NotBank: 校验字符串是否为空串
  • @
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值