今天使用了@NotNull
注解发现没有效果

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="PartRequestOrder对象", description="配件需求申请 ")
public class PartRequestOrder implements Serializable {private static final long serialVersionUID = 1L;@ApiModelProperty(value = "id")@TableId(value = "id", type = IdType.AUTO)private Integer id;@ApiModelProperty(value = "需求单号")@NotNull(message = "信息不能为空")private String requestNumber;@ApiModelProperty(value = "需求日期")@NotNull(message = "信息不能为空")private String requestDate;@ApiModelProperty(value = "需求人")@NotNull(message = "信息不能为空")private Integer requestBy;@ApiModelProperty(value = "需求原因")@NotNull(message = "信息不能为空")private String requestReason;@ApiModelProperty(value = "审批流程")@NotNull(message = "信息不能为空")private Integer workFlowId;@ApiModelProperty(value = "审批状态 0-审批中,1-已审批,2-已驳回")private Integer status;}

后来经过查阅网上资料才知道要加上@vaild使用

//  新增@PostMapping("/insertPOD")ResponseResult insertPOD(@Valid @RequestBody PartRequestOrder purchaseOrder){boolean save = purchaseOrderDetailServices.insertPODetail(purchaseOrder);if (save){return ResponseResult.ok("新增成功");}return ResponseResult.error();}

在实体类上加上@Valid 注解
其中@Validated 和@Valid 差不多是一样的 都可以使用
@Validated
主要功能就是可以分组

这时候就可以使用了
但这时候测试接口为空只会报错并不能抛出message的错误信息。所以还要设置一个全局异常抛出异常信息。

@RestControllerAdvice
public class globalException { @ExceptionHandler(MethodArgumentNotValidException.class)public ResponseResult handleArgumentNotValidException(MethodArgumentNotValidException e) {return ResponseResult.error(e.getBindingResult().getFieldError().getDefaultMessage(),400);}}

ResponseResult为自定义异常

@Data
@NoArgsConstructor
public class ResponseResult<T> {private Boolean success; //是否成功private String msg;   //返回的消息private Integer code;  //返回的状态码 2000   2001private T data ; //返回的数据//成功的方法  ResponseResult.ok().getData().oupublic static <T> ResponseResult<T> ok(T data){ResponseResult<T> r = new ResponseResult();r.setCode(0);r.setSuccess(true);r.setMsg("成功");r.setData(data);return r;}private ResponseResult(Boolean success,Integer code, String msg){this.success = success;this.code = code;this.msg = msg;}//失败的方法public static ResponseResult error(String msg,Integer code){ResponseResult r = new ResponseResult();r.setSuccess(false);r.setCode(code);r.setMsg(msg);return r;}public static ResponseResult error(){ResponseResult r = new ResponseResult();r.setSuccess(false);r.setCode(1);r.setMsg("ERROR");return r;}
}

这样就可以抛出异常信息了

{"success": false,"msg": "不能为null","code": 400,"data": null
}

@NotNull 的使用相关推荐

  1. pandas使用notnull函数将dataframe中所有缺失值映射为False,非缺失值映射为True(map missing vlaues into False others into True

    pandas使用notnull函数将dataframe中所有缺失值映射为False,非缺失值映射为True(map missing vlaues into False others into True ...

  2. spring源码之—Assert.notNull

    org.springframework.util.Assert Assert翻译为中文为"断言".用过JUNIT的应该都知道这个概念了. 就是断定某一个实际的值就为自己预期想得到的 ...

  3. 删除数据 DataIntegrityViolationException: not-null property references a null or transient value解决...

    今天在做删除某一个数据时 使用hibernate的getHiberbnateTemplate().delete(entity)时,报以下错误 javax.servlet.ServletExceptio ...

  4. Spring Boot req中@NotNull, @NotEmpty和@NotBlank之间的区别是什么?

    简述三者区别 @NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0). @NotEmpty://Ch ...

  5. @NotEmpty,@NotNull和@NotBlank的区别

    1.@NotNull 不能为null,但可以为empty (""," "," ") 2.@NotEmpty 不能为null,而且长度必须大于 ...

  6. hibernate validate验证框架中@NotEmpty、@NotbBank、@NotNull的区别

    Hibernate Validator验证框架中@NotEmpty.@NotBlank.@NotNull 的区别 Hibernate Validator验证框架中@NotEmpty.@NotBlank ...

  7. @NotNull 、@NotBlank、@NotEmpty区别

    @NotNull: 主要用在基本数据类型上(Integer.Double-) 不能为null,但可以为empty 举例: @NotNull(message = "标题不能为空") ...

  8. hibernate异常:not-null property references a null or transient value

    http://blog.163.com/xiexueyong1987@126/blog/static/1262673422009106103128236/ 调用delete()时,出现Property ...

  9. 注解@NotNull/@NotEmpty/@NotBlank

    @NotNull:不能为null,但可以为empty @NotEmpty:不能为null,而且长度必须大于0 @NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度 ...

  10. notnull注解_参数校验注解Validated和Valid的区别,这次终于有人说清楚了

    Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR- ...

最新文章

  1. 机器学习中的梯度下降( Gradient Descent)算法
  2. linux路由器转发效率,如何使用Intel 10 Gbe解决Linux路由器/防火墙转发性能问题?...
  3. 基于RDKit的溶解度预测的机器学习模型
  4. plsql oracle服务端,PLSQL Developer + Oracle客户端简易安装方法
  5. Python 初学者的最佳学习资源
  6. 浅谈优化SQLServer数据库服务器内存配置的策略
  7. 现代软件工程讲义 源代码管理
  8. proxychains-ng 工作原理分析
  9. 项目练习(二)—微博数据结构化
  10. 使用SOCKET TCP
  11. MySQL存储引擎--MyISAM与InnoDB区别
  12. 甘肃电大计算机考试题2007,甘肃电大2021年春季《C++语言程序设计(专)》形成性考核二满分...
  13. 8086寄存器的配合使用
  14. 【To Do!】程序员面试金典——11.8维护x的秩
  15. Java常见的8种数据结构
  16. 《广义动量定理与系统思考----战争…
  17. OSPF配置及MD5验证
  18. Typora 语法结构与功能
  19. java格式化时间字符串 毫秒_SimpleDateFormat是否有格式字符串来获取毫秒日期时间值,而不是人类可读的格式?...
  20. 能ping通百度但是浏览器不能访问网页??强哥

热门文章

  1. Elasticsearch 8.4.1 配置自签名证书和启用Https
  2. mysql-connector-java详解
  3. 高通烧录软件QPST的介绍和使用方法(简洁实用篇)
  4. mongrel2安装手册
  5. 400和422对数据POST的响应
  6. rabbitmq-plugins enable rabbitmq_management Failed to start Elixir.
  7. pdf怎么合并成一个文件?高效工具分享
  8. 爱普生打印机维修资料大全
  9. c语言程序设计第三版 孩子身高,C语言的那些题(三) ―― 编程计算身高问题
  10. Figma#4:图片填充