"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,他的目的就是把有依赖关系...