使用参数认证注解
<!--添加依赖-->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.3.Final</version>
</dependency>
// 第一步 接口类上注解
@Validated
public class CartInfoController {
// 第二步 接口参数上注解
public RetVal addCart(@Valid @PathVariable CartInfo cart){
}
}
// 第三步 实体类属性上注解(只对调用接口时,参数是否为空起作用)
@NotNull(message = "name不能为空")
适用于基本数据类型(Integer,Long,Double等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不能为 Null(但是可以为 Empty)
注:被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制
@NotBlank(message = "name不能为空")
适用于 String 类型的数据上,加了@NotBlank 注解的参数不能为 Null 且 trim() 之后 size > 0,必须有实际字符
@NotEmpty
适用于 String、Collection集合、Map、数组等等,加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0
异常处理,实际使用
@Slf4j
log.error("addToCart fail",e);
System.out.println(ExceptionUtils.getStackTrace(error);
JSONArray转List
JSONArray array= new JSONArray();
List<CartInfo> cartInfos = array.toJavaList(CartInfo.class);
List拼接成String
String collect = cartInfos.stream().collect(Collectors.joining(","));