使用validation校验
加入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
controller:
import com.example.dx0.pojo.Persion;
import org.hibernate.validator.constraints.Range;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
@Validated
@RestController
public class ValidatedTest {
@RequestMapping(value = "/t1")
public String test1(){
return "just test!";
}
// 方式一:在Controller中使用校验注解(注意:这种方式要在controller上加@Validated)
@RequestMapping(value = "/v1")
public String test3(@NotBlank(message = "name不能为空") String name, @Range(min = 0,max = 1) int sex){
return "带校验的:hello, "+name+" you are a"+sex;
}
// 方式二:在实体类中使用校验注解(注意:这种方式要在形参前加@Valid)
@RequestMapping(value = "/v2")
public String test3(@RequestBody @Valid Persion persion){
return "带校验的:hello,"+persion.toString();
}
}
实体类:
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
public class Persion {
@NotBlank(message = "用户名不能为空")
@Length(max = 3, message = "用户名最长为10位")
private String name;
@Min(0)
private int age;
private int sex;
public Persion() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}