개요프로젝트를 진행하면서 결제 금액 필드에 대한 유효성 검사를 고민하던 중, @Positive 어노테이션을 알게 되었습니다. 이 글에서는 @Positive 애너테이션에 대해 자세히 알아보겠습니다. @Positive 어노테이션이란❓@Positive 어노테이션은 Spring Validation 또는 Hibernate Validator에서 제공하는 애너테이션 중 하나로, 해당 필드가 양수(positive number)인지 검증할 때 사용됩니다. 이 애너테이션은 숫자형 필드에 적용되어, 값이 0보다 큰 양수여야 한다는 제약 조건을 부여합니다. 사용 예시import javax.validation.constraints.Positive;public class Product { @Positive(mess..
TIL,일일 회고
개요멀티 모듈 MSA 프로젝트를 진행하던 중, Security 기능을 하나의 모듈로 분리하였으나, 이 Security 모듈의 빈들이 등록되지 않아 에러가 발생했습니다. 이를 해결하기 위해 @ComponentScan 어노테이션을 사용하여 Security 모듈의 빈들을 등록할 수 있도록 지정했습니다. @ComponentScan에 대해 알고는 있었지만, 이번 기회를 통해 @Component 어노테이션에 대해 더 깊이 알아보고자 합니다. @ComponentScan이란❓@ComponentScan은 Spring Framework에서 컴포넌트 클래스들을 자동으로 탐색하고 빈으로 등록하는 데 사용되는 어노테이션입니다. Spring 애플리케이션에서는 다양한 클래스들이 빈(Bean)으로 등록되어야 의존성 주입(Depend..
개요프로젝트를 진행하던 중 S3에 파일을 업로드하는 로직에서 문제가 발생했습니다. S3로 파일 업로드를 할 때 body의 form-data로 데이터를 보내야 합니다. 그러나 파일 업로드 API 요청을 할 때 다른 DTO 정보도 함께 보내야 했기 때문에 @ModelAttribute 어노테이션을 사용하여 데이터를 전달했습니다. 그러나 아래의 트러블슈팅 포스팅에서 알게 된 바와 같이 @ModelAttribute는 복잡한 타입의 데이터에 대해 자동 변환을 지원하지 않는다는 점을 발견했습니다. 그렇다면 @ModelAttribute가 자동 변환할 수 있는 타입에는 어떤 것들이 있는지 살펴보겠습니다. [트러블 슈팅] @ModelAttribute의 자동 변환 에러 해결문제 상황 문제 코드 @PostMapping pu..
본 글은 AWS SDK에서 aws S3에 대한 요청 객체에 대해서 공부한 내용을 정리한 글입니다. 개요프로젝트에서 파일을 관리할 때 클라우드 스토리지로 많이 사용되는 서비스 중 하나가 Amazon S3입니다. S3는 대용량 파일을 안전하고 효율적으로 저장할 수 있는 기능을 제공하며, AWS SDK는 S3와 상호작용하기 위한 다양한 API를 지원합니다. 프로젝트를 하다가 S3에 파일을 업로드, 다운로드, 삭제하는 로직을 구현을 해야했습니다. 파일을 업로드, 다운로드, 삭제하는 것은 S3 사용에서 매우 기본적이면서도 중요한 작업입니다. 이러한 작업들을 쉽게 처리할 수 있도록 도와주는 것이 바로 AWS SDK에서 제공하는 요청(Request) 객체들입니다. 이번 글에서는 S3에서 자주 사용되는 요청 객체들인 ..