首页 > 其他分享 >开发规范~参数校验异常、异常返回提示切面

开发规范~参数校验异常、异常返回提示切面

时间:2024-01-20 15:32:16浏览次数:37  
标签:exception ControllerAdvice errorMsg 校验 参数 切面 error 异常


前言

曾几何时谁不是从一句 Hello Wrod 开始的秃头之旅呢,学习前期讲究代码能跑通就行,到了后期慢慢的开始去研究代码的优雅之道,什么设计模式啊、怎么使用最少的代码去实现一个功能。本文的内容在于帮助开发人员高效的对参数进行校验。

谏言

越简单的代码越高效,这个是我上岗遇到的第一个 IT 师傅说的,现已牢记于心也送给大家,不喜勿喷哦。

参数校验高级处理

直接编写环切的切面作用于参数校验不通过的异常就行,用到的就是 @ControllerAdvice 这个注解,至于 @ControllerAdvice 的生效时机,在我之前剖析Spring Mvc 源码的时候里面有详细的介绍。传送门

@Slf4j
@ControllerAdvice
@ResponseBody
public class MethodArgumentNotValidHandel {
    @ExceptionHandler(value = MethodArgumentNotValidException.class)
    public Result MethodArgumentNotValidHandler(HttpServletRequest request,
                                                MethodArgumentNotValidException exception){
        JSONObject errorMsg = new JSONObject();
        for (FieldError error : exception.getBindingResult().getFieldErrors()) {
            errorMsg.putOnce(error.getField(), error.getDefaultMessage());
            log.error(request.getRequestURI() + " 参数校验错误:" + errorMsg);
        }
        return Result.failed(exception.getBindingResult().getFieldError().getDefaultMessage());
    }
}

参数校验

直接在接口的接受参数上加上 @Validated 注解即可。至于校验

开发规范~参数校验异常、异常返回提示切面_spring


然后在TrainOrder上对需要校验的字段,加上注解校验即可,message为异常提示信息。

开发规范~参数校验异常、异常返回提示切面_提示信息_02

效果

当存在校验不通过的字段时,会返回该字段的异常提示信息,直至全部校验通过


标签:exception,ControllerAdvice,errorMsg,校验,参数,切面,error,异常
From: https://blog.51cto.com/u_16414043/9345744

相关文章

  • 2.1 - 错误、异常和警告
    2.1.1分类语法错误:又称为解析错误,写出了不符合python语法格式的代码会报:SyntaxError:invalidsyntax。警告:警告消息通常用于提示用户一些错误或者过时的用法,当这些情况发生时我们不希望抛出异常或者直接退出程序。警告消息通常写入sys.stderr,对警告的处理方式可以灵......
  • 切面编程
    SpringBoot面向切面编程_springboot切面编程-CSDN博客SpringbootAOP切面编程_springboot切面编程-CSDN博客 切入点签名是什么意思切入点签名是一个包含名字和任意参数的方法签名,用于指定切入点和哪些方法进行匹配 。在AspectJ风格的AOP中,切入点签名采用一......
  • SpringBoot集成邮件服务进行校验
    一、前言在我们进行注册、登录等操作的时候,为了保证用户信息的安全性,我们经常会需要接收短信验证码等场景,虽然它的安全系数较高,但是由于需要付费使用,所以我们也可以使用邮箱服务接收验证码来实现安全校验,提升系统安全系数。二、环境准备以QQ邮箱为例,我们需要在邮箱中开启SMTP服务获......
  • springmvc怎么进行异常处理
    局部异常处理局部异常处理是指当类中1发生异常时,由方法来处理,该方法的参数类型为Exception,而Exception是所有异常的父类,所以该参数来接受异常信息步骤说明1.在controller类中定义处理异常的方法,添加注解@ExceptionHandler,方法的擦桉树类型weiexception,并通过getMessage()方......
  • 上传图片,必填增加校验
    <el-form-itemlabel="产品照片:"class="product-manual-box":prop="`infoTabs[${index}].productfmId`":rules="{required:true,message:'请上传产品照片',trigger:'change'}">......
  • 登录功能-校验token实现
    登录功能-token校验用户是否为登录态1、Redis环境的准备:使用docker拉取Redis镜像·卸载掉已安装的docker,确保yum包更新到最新:[卸载旧版本(如果安装过旧版本的话)]sudoyumremovedockerdocker-commondocker-selinuxdockesr-engine·安装yuminstall-yyum-utilsdevi......
  • stable Diffusion python 运行时抛出一个异常
    Python中的异常处理引言在编程过程中,我们经常会遇到各种错误和异常情况。为了提高程序的稳定性和可靠性,我们需要对这些异常情况进行处理。在Python中,异常处理是一个非常重要且常用的功能。异常的概念异常是程序中不正常的情况,例如:文件不存在、数组越界、除零错误等。当异常发生......
  • stable diffusion python运行时抛出了一个异常
    实现“stablediffusionpython运行时抛出了一个异常”介绍在Python开发过程中,我们经常会遇到运行时抛出异常的情况。异常是程序在执行过程中发生的错误,如果不加以处理,就会导致程序终止或产生意想不到的结果。本文将教会你如何在Python中处理异常,并实现“stablediffusionpython......
  • stable Diffusion 启动崩溃 Python异常
    实现"stableDiffusion"启动崩溃Python异常概述在本文中,将介绍如何使用Python语言实现"stableDiffusion"启动崩溃的Python异常。我们将通过以下步骤来完成这个任务:引入所需的库和模块创建一个函数,用于触发异常在函数中添加稳定扩散操作实现异常处理逻辑测试代码......
  • Java异常
    Java异常一、java异常概念和分类1、Java概念异常(Exception)就是程序在运行过程中出现的一些错误,我们通过面向对象的思想,把这些错误也用类来描述,那么一旦产生一个错误,即就是创建了某一个错误的对象,这个对象就是我们所说的异常对象。以下是常见的异常:(1)IndexOutOfBoundsException:......