Back-end

    [Spring] Amazon S3 생성과 Spring Boot에서 사용하기

    📑 개요진행 중인 프로젝트에서 이미지를 저장해야 한다.이미지를 Amazon S3에 저장하기로 하였고,Amazon S3 생성부터 Spring Boot에서 이미지를 저장하는 것까지 작성해보려 한다. 📑 개발 환경SpringBoot : 3.3.5JDK : 17build Tools : gradleEditor : InteliJ 📑 Amazon S3 설정👉 버킷 만들기버킷 만들 때의 자세한 설정 정보는 이 블로그에 잘 나와있으니 참고하면 좋을 것 같다. (아래에 작성되어 있는 설정 외의 설정은 디폴트 값으로 놔두고 따로 변경하지 않았다.) 위의 검색창에 S3를 검색하여 Amazon S3로 이동해주고 왼쪽 네비게이션바에서 버킷을 클릭 버킷 만들기 클릭 버킷 이름 작성 객체 소유권에서 ACL 활성화됨으로 변경 ..

    [Spring] AOP로 권한 처리하기

    📑 개요이번에 진행하는 프로젝트의 경우,많은 API에서 요청으로 들어온 travel id에 대한 정보가 존재하는지, 해당 travel id에 대한 접근 권한이 있는지에 대한 예외 처리가 필요하다.예외 처리에 대한 코드 중복을 줄이기 위해 애노테이션을 만들어 처리하려고 한다. 📑 Custom Annotation 생성먼저, 권한 검사를 적용할 메소드에 사용할 커스텀 애노테이션을 만든다.package withbeetravel.security;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation...

    [Spring] Swagger 설정 및 사용 방법

    📑 개요Swagger를 사용하여 API 명세를 작성해보고자 한다. 📑 개발 환경SpringBoot : 3.3.5JDK : 17build Tools : gradleEditor : InteliJ 📑 의존성 추가Spring Boot 3.x 버전에서의 Swagger 적용을 위한 의존성 추가// Swaggerimplementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4' 📑 Swagger Config 작성package withbeetravel.config;import io.swagger.v3.oas.models.OpenAPI;import io.swagger.v3.oas.models.info.Info;import org.springframew..

    [Spring] Custome Exception 만들기

    📑 개요이전 프로젝트에선 백엔드 도메인 별로 개발 파트를 나누고 예외처리를 각자 알아서 했다. 심지어 문서화도 제대로 해놓지 않아 해당 예외가 왜 발생했는지 잘 전달이 되지 않았고왜, 어디서 발생한 예외인지 찾는 것이 굉장히 힘들었다. 그래서 예외 처리에서 문제가 생기면 내가 개발한 파트에서 발생한 예외가 아님에도엉뚱한 곳에서 문제를 찾기 위해 시간을 허비한 경험이 있었다. 이런 경험을 통해, 다음 프로젝트에서는 기필코 예외 처리를 전역에서 관리하고 문서화도 제대로 해놓기로 다짐했다. 그래서 이번 프로젝트에서는 Custom Exception을 통해 예외 처리를 해보려 한다. 📑 우리의 프로젝트 상황API 명세를 하며 발생할 수 있는 예외 상황들을 정리하였고,예외들을 몇 가지 카테고리로 나눴다.AUTH..