【发布时间】:2017-04-07 23:36:55
【问题描述】:
我正在处理响应映射的错误。在继续将响应映射到我的域对象之前,我想验证响应。检查错误。
我计划创建一个 Validator.java 类并为每个 API 调用实现验证方法。
春天有没有其他方法可以做到这一点?
【问题讨论】:
标签: java spring rest validation
我正在处理响应映射的错误。在继续将响应映射到我的域对象之前,我想验证响应。检查错误。
我计划创建一个 Validator.java 类并为每个 API 调用实现验证方法。
春天有没有其他方法可以做到这一点?
【问题讨论】:
标签: java spring rest validation
package com.people.net;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.Email;
public class UserInfo {
//Unicode check
@Pattern(regexp="[0-9a-zA-Z\\s-]+", message="chars,numbers allowed only")
String name;
int id;
@Pattern(regexp="([0-9]{10})", message="minLength=maxLength=10 only numbers")
String pin;
@Email
String email;
@Size(max=5, message="5 chars max")
String emailType;
@Size(max=5, message="5 chars max")
String addressType;
@Size(max=300, message="5 chars max")
String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public UserInfo(String name, String pin, String id) {
super();
this.id = Integer.parseInt(id);
this.name = name;
this.pin = pin;
}
public UserInfo(int id,String name, String pin, String email, String emailType, String addressType, String address) {
super();
this.id = id;
this.name = name;
this.pin = pin;
this.email = email;
this.emailType = emailType;
this.addressType = addressType;
this.address = address;
}
public UserInfo() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPin() {
return pin;
}
public void setPin(String pin) {
this.pin = pin;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmailType() {
return emailType;
}
public void setEmailType(String emailType) {
this.emailType = emailType;
}
public String getAddressType() {
return addressType;
}
public void setAddressType(String addressType) {
this.addressType = addressType;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
【讨论】:
您应该探索休眠验证器,它是用于 bean 验证的参考实现 JSR-349。更多信息在这里https://jcp.org/en/jsr/detail?id=349。
此外,hibernate 验证器是进行 bean 验证的行业标准(互联网上有很多可用的东西),并带有许多流行的框架,如 dropwizard 等。它提供基于注释的验证,并允许您编写自己的基于注释的自定义验证.
请参考分步指南http://www.journaldev.com/2668/spring-validation-example-mvc-validator,作者在此将其与弹簧一起使用。
【讨论】: