[RestApi] 유효성 검사(spring-boot-starter-validation)

2024. 3. 19. 16:03프로그래밍(Backend)/Spring Boot

Add Dependency

Gradle

implementation 'org.springframework.boot:spring-boot-starter-validation'

 

Maven

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

 

사용 어노테이션 : @Valid, @Size, @PastOrPresent

 

@Valid : 유효성 검사를 원하는 Entity 앞에 작성

@PostMapping("/users")
@ResponseBody
public ResponseEntity<Object> createUser(@Valid @RequestBody User user) {
    User saveUser = service.save(user);
    URI location = ServletUriComponentsBuilder.fromCurrentRequest()
            .path("/{id}")
            .buildAndExpand(saveUser.getId())
            .toUri();
    return ResponseEntity.created(location).build();
}

 

@Size : 문자의 길이 확인

@PastOrPresent : 현재나 과거의 시간 확인

public class User {
    private int id;

    @Size(min = 2)
    private String name;

    @PastOrPresent
    private LocalDate birthDate;

외 어노테이션

유효성 검사 어노테이션