相关文章推荐
耍酷的企鹅  ·  Manifest v5·  1 年前    · 
性感的饼干  ·  Vue: 使用Vuex 保存 ...·  1 年前    · 
"code" : 3 , "content" : null , "msg" : "Validation failed for argument at index 0 in method: public com.gdata.base.facade.R com.gdata.biz.dataset.controller.DatasetTeamMemberController.create(com.gdata.biz.dataset.controller.TeamUser), with 1 error(s): [Field error in object 'teamUser' on field 'teamRole': rejected value [0]; codes [Range.teamUser.teamRole,Range.teamRole,Range.java.lang.Integer,Range]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [teamUser.teamRole,teamRole]; arguments []; default message [teamRole],2,1]; default message [所选角色不合法]] "

解决:设置全局异常捕获,里面返回值使用e.getBindingResult().getFieldError().getDefaultMessage()

* 参数校验错误 * @param e * @return @ExceptionHandler ( MethodArgumentNotValidException . class ) public R < String > argumentValidException ( MethodArgumentNotValidException e ) { log . error ( e . getMessage ( ) , e ) ; return R . error ( e . getBindingResult ( ) . getFieldError ( ) . getDefaultMessage ( ) ) ; @NotNull:验证对象是否不为null, 无法查检长度为0的字符串 @NotBlank:检查约束 (字符串) 是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格 @NotEmpty:检查(集合)约束元素是否为NULL或者是EMPTY @Size(min=,max=):验证对象(Array,Collect ion ,Map,String)长度是否在 进行方法参数验证时,参数验证失败。在使用 Spring Boot 时,可能由于自动配置或者属性配置的问题导致验证失败。如果使用了特定版本的验证框架,可能会存在与其他组件不兼容的问题。使用自定义验证注解时,自定义验证逻辑未通过导致验证失败。当验证日期类型的参数时,传递的日期字符串格式不符合预期。当传递的参数是一个对象时,对象的属性未通过验证。当使用分组验证时,传递的参数未指定正确的验证组。如果选择的验证注解不符合验证的需求,可能导致。传递的数据结构与方法参数的期望结构不匹配。如果方法参数有多个验证失败, Method Argument Not Valid Exception 异常 同样也有两种 处理 方式继承org.springframework.web.servlet.mvc. method .annotat ion .ResponseEntity Exception Handler 类,重写 handle Method Argument Not Valid () 方法通过 @ Exception Handler 注解指定要 处理 异常 ,并在 处理 方法中 处理 不同的参数校验方式会产生不同的 异常 。 通过使用验证注解、控制器中的 异常 处理 方法或全局 异常 处理 器,有效地捕获和 处理 验证错误,并向客户端返回友好的错误信息。通常在使用 Spring MVC 或 Spring Boot 时,当请求体中的数据未通过验证注解(如。假设你有一个 REST 控制器,它接收一个包含验证注解的对象作为请求体。等)的检查时,会抛出此 异常 。字段的长度小于 2 个字符,是 Spring 框架中。 @PostMapping("/up dat e") @RequiresPermiss ion s("user:up dat e") public R up dat e(@RequestBody @ Valid UserEntity user) { userService.up dat e(user); return R.ok(); 当使用注解进行参数校验时,如果参数违反了约束条件(例如,@NotNull、@Size、@Pattern等),就会抛出 ConstraintViolat ion Exception 异常 Method Argument Not Valid Exception 和ConstraintViolat ion Exception 都是用于 处理 参数校验 异常 异常 类,但它们在不同的上下文中使用。- 通常,该 异常 是在控制器(Controller)中接收到请求参数后发生的,它包含了关于哪个参数违反了约束条件以及相应的错误消息。 如果你熟悉原来一系列的构建工具,grunt或者gulp之类的,这里有一篇webpack和他们比较的文章可以读一读。 Webpack Com pared 先装好node和npm,因为webpack是一个基于node的项目。然后 npm install -g webpack 官网对webpack的定义是MODULE BUNDLER,他的目的就是把有依赖关系...