后端参数校验以及校验异常处理

记录一个小tips
mysql中varchar类型通常用来存储字符变量
在建表是设置为varchar(64)时,表示能存储最多能够存储64个字符,不论中文还是英文
utf-8编码 1个中文字符=3个字节 1个字节=8个位
一个英文字母字符存储需要1个字节
在这里插入图片描述

在使用JSR303规范进行前端参数校验时

@Size(max = 64,message = "超过风险预警单名称最大长度64个字符!")

同时校验前端传入的参数不允许超过64个字符

// 全局异常处理
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

	//参数绑定时异常处理
    @ExceptionHandler(BindException.class)
    public ResultMessage methodArgumentNotValidExceptionHandler(BindException e) {
        StringBuilder sb = new StringBuilder();
        BindingResult result = e.getBindingResult();
        result.getFieldErrors().forEach(fieldError -> sb.append(fieldError.getDefaultMessage()));
        return ResultMessage.error(500, sb.toString());
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值