spring boot后端controller中接收表单参数校验
在Spring Boot中,可以使用@Validated
注解和JSR-380(Hibernate Validator)提供的注解来对表单参数进行验证。以下是一个简单的例子:
首先,添加依赖到你的pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
然后,定义一个实体类并使用JSR-380注解进行验证:
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
public class UserForm {
@NotBlank(message = "用户名不能为空")
@Size(min = 3, max = 20, message = "用户名长度必须在3到20个字符之间")
private String username;
@Min(value = 18, message = "年龄必须大于等于18岁")
private int age;
// 省略getter和setter方法
}
在Controller中使用@Validated
注解来触发验证:
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Validated
public class UserController {
@PostMapping("/register")
public String registerUser(@RequestBody @Valid UserForm userForm) {
// 验证通过后的逻辑
return "注册成功";
}
}
当你发送一个包含表单数据的POST请求到/register
时,如果UserForm
中的验证注解不满足要求,则会返回验证错误信息。
评论已关闭