(1)、maven地址
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.1.Final</version> </dependency>
(2)、控制器定义
@RestController @RequestMapping("/api/panManage") @Validated public class PanManage extends Base { /** * 获取网盘数据 * * @param request * @return */ @GetMapping("/get") public ResponseJson get(@Valid @RequestBody PanGetRequest request) { return new ResponseJson(null, 200, "success"); } /** * 上传网盘数据 * * @param request * @return * @throws BusinessException */ @PostMapping("/set") public ResponseJson set(@Valid @RequestBody PanSetRequest request) { return new ResponseJson(null, 200, "success"); } }
(3)、实参定义
public class PanGetRequest { @NotNull(message = "文件编号不能为null") @NotBlank(message = "文件编号不能为空") String id; public String getId() { return id; } public void setId(String id) { this.id = id; } }
(4)、定义全局异常(校验失败会抛出异常)
@ExceptionHandler({MethodArgumentNotValidException.class}) public ResponseJson handleMethodArgumentNotValidException(MethodArgumentNotValidException ex) { BindingResult bindingResult = ex.getBindingResult(); StringBuilder sb = new StringBuilder("校验失败的参数"); for (FieldError fieldError : bindingResult.getFieldErrors()) { sb.append(fieldError.getField()).append(":").append(fieldError.getDefaultMessage()).append(", "); } String msg = sb.toString(); return new ResponseJson(null, 0, msg); } @ExceptionHandler({ConstraintViolationException.class}) @ResponseBody public ResponseJson handleConstraintViolationException(ConstraintViolationException ex) { return new ResponseJson(null, 0, ex.getMessage()); }
java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member { public Member(){  ...
在java中字符串属于对象,刚开始我就疑惑为什么int char等类型都是小写,结果String是大写,java太反人类,后来才知道String是对象。(1).java创建字符串String text = "net"; String tex...
(1).java获取当前日期时间Date date = new Date(); System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...
(1).java睡眠函数Thread.sleep(时间); //单位为毫秒(2).java睡眠函数例子Date dNow = new Date(); SimpleDateFormat ft = new&nbs...
System.out.println("当前时间戳(秒): " + System.currentTimeMillis()/1000); System.out.println("当前时间戳(毫秒): " +&nb...
(4).java lookingAt匹配字符串和java matches匹配字符串lookingAt不要求整个字符串全匹配,例如me和me_you都是匹配的,但是lookingAt从第一个字符串开始匹配,匹配失败了也不会继续匹配,意味着me和you_me是无法匹配的matches匹配字符串要求全部匹...