별집사의 IT세상

JAVA Anotation 정리 본문

IT/JAVA

JAVA Anotation 정리

별집사 2024. 7. 21. 17:38
반응형

프로젝트를 진행하면서 새로 알게된 anotation들을 학습하는 페이지입니다.

@RequiredArgsConstructor

- 필요한 생성자를 자동으로 생성. final 필드나 @NonNull로 마크된 필드에 대해 생성자를 만들어줍니. 이를 통해 간결한 코드를 유지하면서 필요한 의존성 주입을 설정할 수 있습니다.

private final SampleService sampleService;

@Autowired
public ExampleService(SampleService sampleService){
	this.sampleService = sampleService;
{

위 코드에서 아래 생성자 주입을 위한 코드를 사용 안해도 되는 이점이 있다.

@valid

Java의 Bean Validation API를 사용하여 필드의 유효성을 검사할 수 있습니다. 이를 위해 일반적으로 @Valid와 @NotNull, @Size, @Pattern 등 다양한 검증 어노테이션을 사용합니다.

 

1. Request 클래스에 유효성 검사 추가

@Data
@Builder
public class CreateUserRequest {

    @NotNull(message = "ID cannot be null")
    private String id;

    @NotNull(message = "Title cannot be null")
    private String title;

    @NotNull(message = "Description cannot be null")
    private String description;

}

2. Controller에서 유효성 검사 처리

@RestController
@RequiredArgsConstructor
@Validated
public class CreateUserController {

    private final CreateUserUseCase createUserUseCase;

    @PostMapping("/api/v1/user/create")
    @ResponseStatus(HttpStatus.OK)
    public void createUser(@Valid @RequestBody CreateUserRequest request) {
        createUserUseCase.execute(request);
    }
}

유효성 검사를 자동으로 해주고, 검사를 통과하지 못하면 MethodArgumentNotValidException이 발생합니다. Spring MVC는 기본적으로 400 Bad Request 응답을 반환합니다.

반응형

'IT > JAVA' 카테고리의 다른 글

[JAVA] input 값 중 필수 값 체크  (0) 2022.09.16
Comments