반응형

@past 나 @Size로 Vaule값을 검증해보자 

 

        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Final</version>
            <scope>compile</scope>
            <optional>true</optional>
        </dependency>

우선 벨리데이션을 쓰려면 

메이븐 타입이라면 추가해주자 

 

@Data
@AllArgsConstructor
@JsonIgnoreProperties(value = {"password","ssn"})
public class User {
    private Integer id;

    @Size(max=2, message = "Name은 두글자 이상 입력해주세요!")
    private String name;
    @Past
    private Date joinDate;

@Size를 걸어서 서버에서 Name값을 사이즈를 2미만이라면 예외처리를 해보자 

 

@PostMapping("/users")
public ResponseEntity<User> createUser(@Valid @RequestBody User user){
    User savedUser = service.save(user);

    URI location =  ServletUriComponentsBuilder.fromCurrentRequest().path("/{id}")
            .buildAndExpand(savedUser.getId()).toUri();

    return ResponseEntity.created(location).build();
}

@Vaild라는 어노테이션을 활용하여 구성하면 끝이난다.

반응형

+ Recent posts