2017-01-19 8 views
1

의 검증 나는 실체가 나는 BindingResult이스프링 정수 속성

@RestController 
public UserController { 
..... 
} 

을하지만, 필드 나이 봄은 확인하지 않습니다. 왠지 말해줘?

답장을 보내 주셔서 감사합니다.

+0

컨트롤러 방법 .. –

+0

@RequestMapping ("/ 사용자") 공공 무효 ADDUSER (@Valid @RequestBody 사용자 사용자, BindingResult 결과) 게시하여 주시기 바랍니다 을 경우 (result.hasErrors()) {어떤 행동} } –

답변

0

만약 당신이 같은 주석의 유효성 검사를 트리거하기 위해 @RequestBody와 함께 주석 @Valid를 사용할 수있는 User 클래스를 나타내는 JSON 데이터처럼 게시 뭔가 @NotNull 당신이 당신의 age 재산에 있습니다. 그런 다음 BindingResult을 사용하면 엔티티/데이터에 오류가 있는지 확인하고 그에 따라 처리 할 수 ​​있습니다.

@RestController 
public UserController { 

    @RequestMapping(method = RequestMethod.POST) 
    public ResponseEntity<?> create(@Valid @RequestBody User user, BindingResult bindingResult) { 
     if(bindingResult.hasErrors()) { 
      // handle errors 
     } 
     else { 
      // entity/date is valid 
     } 
    } 
} 

나는 당신의 User 클래스는 또한뿐만 아니라 @Entity 주석이 있는지 확인 것입니다.

@Entity 
public class User { 
    @NotNull 
    @Min(18) 
    private Integer age; 

    public Integer getAge() { return age; } 

    public setAge(Integer age) { this.age = age; } 
} 

적절한 제한이 User 테이블에 추가되고 있음을 알 수 있도록 SQL을 출력/로그하는 속성을 설정할 수 있습니다.

잘하면 도움이됩니다.

+0

답장을 보내 주셔서 감사합니다. 그렇지만 정수 속성의 @NotNull은 유효 기간이 아니지만 모든 예를 들어 String 속성은 정상적으로 작동합니다. –

+0

유효성 검사 주석'@Min (1)'또는'@Range (min = 1, max = 10000)'을'Integer' age 속성에 추가하고 유효성을 검사하는지보십시오. –

+0

네, 고마워요. 그러나 그것은 이상합니다. 이 자습서에서는 https://spring.io/guides/gs/validating-form-input/ Integer 속성에서 @NotNull 주석을 사용합니다. –