使用Java8开发一个api入参效验,包含字段类型,长度,手机,邮箱,空值,必传参数等jdk
时间: 2024-03-13 10:43:32 浏览: 71
Java JDK 8帮助文档,中文API,中英对照版,chm谷歌翻译
Java 8提供了很多方便的工具来进行参数校验,其中最常用的是javax.validation包下的注解。
下面是一个简单的入参验证示例,包括字段类型、长度、手机号码格式、邮箱格式、空值和必传参数等方面的验证。
```java
import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
public class User {
@NotNull(message = "用户名不能为空")
@Size(min = 1, max = 20, message = "用户名长度必须在1到20之间")
private String username;
@NotNull(message = "密码不能为空")
@Size(min = 6, max = 20, message = "密码长度必须在6到20之间")
private String password;
@Pattern(regexp = "^1[3456789]\\d{9}$", message = "手机号码格式不正确")
private String phone;
@Email(message = "邮箱格式不正确")
private String email;
public User(String username, String password, String phone, String email) {
this.username = username;
this.password = password;
this.phone = phone;
this.email = email;
}
// getter and setter methods
}
```
在上面的示例中,我们使用了javax.validation.constraints包中的一些注解对User类中的字段进行验证。
@NotNull注解表示该字段必须不为null;
@Size注解表示该字段的长度必须在指定的范围内;
@Pattern注解表示该字段必须符合指定的正则表达式;
@Email注解表示该字段必须是一个有效的邮箱地址。
通过这些注解,我们可以方便地实现参数校验。当参数不符合要求时,会抛出ConstraintViolationException异常,我们可以在异常处理中返回相应的错误信息给客户端。
阅读全文