保存或者修改进行表单提交时,一般后端对前端返回数据进行约定校验,其中最常用的就是非空判断。涉及到注解@NotNull、@NotEmpty、@NotBlank
三者的区别如下:
- @NotNull:不能为null,但可以为empty(""," “,” ") ,一般用在基本数据类型的非空校验上,而且被其标注的字段可以使用 @size/@Max/@Min对字段数值进行大小的控制,例如Integer、BigDecimal、String等
- @NotBlank: 只应用于char值可读序列,即只用于String,且不能为null
- @NotEmpty:不能为null,而且长度必须大于0(" “,” "),一般用在集合类上面
@ApiModelProperty(value = "保存")
@NotNull(groups = { ReesponseDTO.Save.class }, message = "message不能为空")
private String message;
@ApiModelProperty(notes = "服务价格")
@NotNull(groups = { ReesponseDTO.Save.class }, message = "服务价格不能为空")
private BigDecimal specPrice;
@ApiModelProperty(value = "姓名")
@NotBlank(groups = { ReesponseDTO.Save.class }, message = "姓名不能为空")
private String name;
@ApiModelProperty(value = "证件材料")
@NotEmpty(groups = {ReesponseDTO.Update.class, ReesponseDTO.Save.class}, message = "证件材料不能为空")
@Valid
private List<FileDTO> mournerFiles;
一般会给dto加上
public interface Save {};
public interface Update{};
然后在collection
加上@Validated注解
@ApiOperation(value = "提交信息接口",notes = "此接口用于提交信息")
@RequestMapping(method = RequestMethod.POST, value = "/submit")
public ApiResponse<ManageEntity> submit(@RequestBody @Validated({ReesponseDTO.Save.class}) ReesponseDTO reesponseDTO){
....
}