我正在處理響應映射的錯誤處理。在繼續並將響應映射到我的域對象之前,我想驗證響應。檢查錯誤。驗證來自REST API調用的響應
我打算有一個Validator.java類,併爲每個API調用實現驗證方法。
春天有沒有其他辦法可以做到這一點?
我正在處理響應映射的錯誤處理。在繼續並將響應映射到我的域對象之前,我想驗證響應。檢查錯誤。驗證來自REST API調用的響應
我打算有一個Validator.java類,併爲每個API調用實現驗證方法。
春天有沒有其他辦法可以做到這一點?
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;
}
}
您應該探索一下hibernate驗證器,它是用於bean驗證的參考實現JSR-349。更多的信息在這裏https://jcp.org/en/jsr/detail?id=349。
此外,hibernate驗證器是做bean驗證的一個行業標準(大量可用於互聯網上的東西),並附帶大量流行的框架,如dropwizard等。它提供基於註釋的驗證,並允許您編寫自己的自定義註釋驗證。
請參考逐步指南http://www.journaldev.com/2668/spring-validation-example-mvc-validator,其中作者使用它與春天。
感謝您的答覆AmitK。我的理解是上面的驗證是表單驗證。我正在尋找的是不同的用例(可能技術是相同的)。當我從我的Web服務向下遊呼叫時,我想驗證下游的響應。例如,如果我打電話給谷歌API,那麼我想驗證這個API的響應。 – user1180969