一些没用的小技巧
写代码其实有很多小技巧,熟练运用可以写出更加优雅健壮的代码,下面就介绍几个。
一、表单验证
controller
层接收请求参数,对有些参数我们需要进行校验,比如校验某个字段的格式、校验某个字段不能为空等。常规做法是写if
判断,当字段校验不通过就抛出异常。不过使用表单验证,可以让代码更加优雅。下面是伪代码:
@Data
public class UserDto {
@NotBlank(message = "name不能为空")
private String name;
@NotNull(message = "age不能为空")
@Min(value = 1, message = "年龄不能小于1")
private Integer age;
}
直接在接收参数的对象字段上加上相关注解,然后在controller
层中获取校验结果:
@PostMapping("/register")
public String register(@Valid UserDto userDto, BindingResult bindingResult){
// 校验参数
checkParams(bindingResult);
// 业务逻辑
return "";
}
private void checkParams(BindingResult bindingResult) {
if (bindingResult.hasErrors()){
List<ObjectError> allErrors = bindingResult.getAllErrors();
String errorMsg = allErrors.stream().map(ObjectError::getDefaultMessage).collect(Collectors.joining(";"));
if (StringUtils.isNotBlank(errorMsg)){
throw new BusinessException(BusinessExceptionEnum.bad_request_param.getCode(), errorMsg);
}
}
}
附上常用的校验注解:
注解 | 说明 |
---|---|
@Null
|
0条评论