[MONGODB] 어떻게 내 개체의 유효성을 검사 봄 - 데이터 - MongoDB를 얻을 수 있습니까?
MONGODB어떻게 내 개체의 유효성을 검사 봄 - 데이터 - MongoDB를 얻을 수 있습니까?
나는 봄 - 데이터 - MongoDB를 사용하는 매우 간단한 봄 부팅 응용 프로그램이
내가하고 싶은 모든 내가 저장있어 객체가 이름을 가지고 있어야합니다라는 JSR-303 유효성 검사 규칙을 설정합니다. I는 I는 I 객체 저장이 유효하지만 때 그렇지 않은 것으로되도록 JSR-303는 버전 1.1 스프링 데이터 MongoDB를 가하고 읽었다.
누구나 간단한 예를 설정 것을 알 방법이 작품이 있습니까?
내 사용자 POJO는 같다
public class User {
@Id
private String id;
@NotNull(message = "User Name is compulsory")
private String userName;
private String password;
public User() {}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = PasswordAuthService.hash(password);
}
}
어디 선가 보았다 내가처럼 보이도록, 모든 구성이 포함되어 내 응용 프로그램 클래스 (업데이트 시도 있도록 컨텍스트에서 만든 검증이있는 경우에 검증에만 차기
@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
@Bean
public Validator getValidator() {
LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
return validator;
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
해결법
-
==============================
1.당신은 예를 들어, 클래스 패스에 JSR-303 검증이 있는지 먼저 확인하십시오
당신은 예를 들어, 클래스 패스에 JSR-303 검증이 있는지 먼저 확인하십시오
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency>
당신이 자바 설정을 사용하는 경우, 이동하는 방법은 두 콩을 만드는 것입니다 :
@Bean public ValidatingMongoEventListener validatingMongoEventListener() { return new ValidatingMongoEventListener(validator()); } @Bean public LocalValidatorFactoryBean validator() { return new LocalValidatorFactoryBean(); }
자보세요! 검증은 지금 노력하고 있습니다.
-
==============================
2.문맥에 검사기를 추가하면 좋은 첫 번째 단계입니다,하지만 난 당신이 그것을 요구하지 않는 한 아무것도와 상호 작용하는 것입니다 생각하지 않습니다. 봄 데이터 사람은 아마 확실히 말할 수 있습니다하지만 난 당신이 명시 적으로뿐만 아니라 일부 청취자를 선언 할 필요가 있다고 생각합니다. 이 기능에는 오래 된 블로그입니다,하지만 당신은 쉽게 내가 할 수있는 인터넷 검색하여 해당를 찾을 수 있습니다.
문맥에 검사기를 추가하면 좋은 첫 번째 단계입니다,하지만 난 당신이 그것을 요구하지 않는 한 아무것도와 상호 작용하는 것입니다 생각하지 않습니다. 봄 데이터 사람은 아마 확실히 말할 수 있습니다하지만 난 당신이 명시 적으로뿐만 아니라 일부 청취자를 선언 할 필요가 있다고 생각합니다. 이 기능에는 오래 된 블로그입니다,하지만 당신은 쉽게 내가 할 수있는 인터넷 검색하여 해당를 찾을 수 있습니다.
당신이 봄 부팅에 유용한 자동 구성 기능이있을 것입니다 생각한다면, GitHub의에 대한 자세한 제안을 주시기 바랍니다.
-
==============================
3.내가 추가 할 경우 발견
내가 추가 할 경우 발견
public User addUser(@RequestBody @Valid User newUser, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new Exception("Validation Error"); }
난 여전히 차단에 유효하지 않은 데이터로 모델을 업데이트 할 내 코드의 다른 부분을 validatingMongoEventListener을 시도하고 설치해야하지만 내 컨트롤러에이 내 규칙에 대한 들어오는 JSON의 유효성을 검사합니다.
from https://stackoverflow.com/questions/22568962/how-to-i-get-spring-data-mongodb-to-validate-my-objects by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽구스 : ObjectId가 비교가 일관성 실패 (0) | 2019.12.18 |
---|---|
[MONGODB] 정확한 배열 매치을 찾을 순서는 중요하지 않습니다 MongoDB를 (0) | 2019.12.18 |
[MONGODB] MongoDB를 & Robomongo : 연결할 수 없습니다 (인증) (0) | 2019.12.18 |
[MONGODB] A A MongoDB를 GROUP BY에서 HAVING을 할 수있는 올바른 방법은 무엇입니까? (0) | 2019.12.18 |
[MONGODB] MongoDB를 C #을 드라이버 2.0 - 업데이트 문서 (0) | 2019.12.18 |