企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # 1. url 参数校验 ```java /** * 1. 在类上标记注解校验注解 @Validated */ @Validated @RestController public class StudentController { /** * 2. 在参数上标记约束注解 */ @GetMapping("/getStuByName") public String getStuByName(@RequestParam("name") @NotBlank(message = "name不能为空") String name) { return "getStuByName." + name; } /** * 在参数上标记约束注解 */ @GetMapping("/getStuById/{id}") public String getStuById(@PathVariable("id") @Min(value = 0, message = "id必须>=0") Integer id) { return "getStuById." + id; } } ``` <br/> # 2. 实体类参数校验 **1. 实体类变量标记约束注解** ```java /** * 1. 提供 Getter/Setter 方法,这里我lombok提供 */ @Data public class Student { /** * 2. 属性标记约束注解 */ @NotNull(message = "id不能为空") private Integer id; @NotBlank(message = "name不能为空") private String name; } ``` **2. 方法参数标记校验注解** ```java /** * 在类上校验注解 @Validated 可选 */ //@Validated @RestController public class StudentController { /** * 1. 方法参数标记校验注解 @Validated */ @PostMapping("/addStudent") public String addStudent(@RequestBody @Validated Student student) { return "addStudent." + student; } } ``` <br/> # 3. 集合/数组判空 ```java /** * 1. 类上标记校验注解@Validated */ @Validated @RestController public class StudentController { /** * 2. 集合/数组上标记约束注解 */ @PostMapping("/delById") public String delById(@RequestBody @NotEmpty(message = "ids集合不能为空") List<String> ids) { return "delById." + ids.size(); } } ```