谷粒商城归纳总结----------------------chapter2

一.JSR303校验
①最开始我们可以在controller中需要校验的字段上加上注解@Valid即可进行最基础的校验。当然为了明确我们哪些字段上可以为空哪些不为空相关指定工作我们在entity上添加上注解,并且当校验出错我们可以返回对应的message信息。在这里插入图片描述
②我们也可以在对应需要校验的bean后紧跟BingdingResult就可以获取到校验的结果,并且可以对不同的多场景下的校验做一个分组操作,比方说新增或者修改的情况下才可以校验当前值。
在这里插入图片描述
③最后做一个复用操作,我们为了统一抛出的信息,制定了一个统一的异常处理器类解决指定的异常。

* 4.统一的异常处理
* 1)编写一场处理类,可以使用springmvc当中的@ControllerAdvice
* 2)使用@Exceptionhandler标注方法可以处理的异常

④在异常处理器上放定义ControllerAdvice又因为返回的就是@responseBody所以可以整合为@RestControllerAdvice,定义不同的异常@ExceptionHandler指定特定的异常有对应的异常处理方法

@Slf4j
@RestControllerAdvice(basePackages = "com.atguigu.gulimall.product.controller")
public class GulimallExceptionControllerAdvice {
   

    @ExceptionHandler(value = MethodArgumentNotValidException.class)
    public R handleValidException(MethodArgumentNotValidException e){
   
        log.error("数据校验出现问题{},异常类型:{}",e.getMessage(),e.getClass());
        BindingResult bindingResult = e.getBindingResult();
        Map<String,String> errormap = new HashMap<>();
            //1.获取校验的错误结果
        bindingResult.getFieldErrors().forEach((fieldError) ->{
   
                errormap.put(fieldError.getField(),fieldError.getDefaultMessage());
            });
        return R.error(400,"提交数据不合法").put("data",errormap);
    }

    @ExceptionHandler(value = Throwable.class)
    public R handleException(Throwable throwable){
   
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破晓以胜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值