Spring

    [Spring] AWS S3 객체 전체 조회 or 해당 level만 조회

    기본 세팅 먼저 S3 버킷에 대한 퍼블릭 엑세스 설정이 필요하다. 해당 글을 참고하자. 2022.07.25 - [aws] - [AWS] S3 버킷 퍼블릭 엑세스 설정 [AWS] S3 버킷 퍼블릭 엑세스 설정 AWS S3 버킷을 퍼블릭하게 열어두고 사용할 때가 많다. 이번에는 S3 퍼블릭 엑세스에 대한 기본 세팅을 설명한다. 퍼블릭 엑세스 차단 기본적으로 아무 설정 없이 버킷을 생성하면 모든 퍼블릭 엑 gksdudrb922.tistory.com 또한, Spring Boot에서 S3 설정 및 접근에 대한 인증 키를 입력해야 한다. 해당 글을 참고하자. 2022.07.25 - [java/spring] - [Spring] AWS S3 접근 [Spring] AWS S3 접근 라이브러리 추가 implementati..

    [Spring] AWS S3 접근

    라이브러리 추가 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' 인증 키 추가 본인 IAM 인증 키를 추가하면 된다. cloud: aws: credentials: instance-profile: false access-key: [access-key] secret-key: [secret-key] region: auto: false static: ap-northeast-2 stack: auto: false S3Config @Configuration public class S3Config { @Value("${cloud.aws.credentials.access-key}") public String accessKe..

    [Spring] S3 Pre-Signed URL 생성

    기본 세팅 먼저 S3 버킷에 대한 퍼블릭 엑세스 설정이 필요하다. 해당 글을 참고하자. 2022.07.25 - [aws] - [AWS] S3 버킷 퍼블릭 엑세스 설정 [AWS] S3 버킷 퍼블릭 엑세스 설정 AWS S3 버킷을 퍼블릭하게 열어두고 사용할 때가 많다. 이번에는 S3 퍼블릭 엑세스에 대한 기본 세팅을 설명한다. 퍼블릭 엑세스 차단 기본적으로 아무 설정 없이 버킷을 생성하면 모든 퍼블릭 엑 gksdudrb922.tistory.com 또한, Spring Boot에서 S3 설정 및 접근에 대한 인증 키를 입력해야 한다. 해당 글을 참고하자. 2022.07.25 - [java/spring] - [Spring] AWS S3 접근 [Spring] AWS S3 접근 라이브러리 추가 implementati..

    [Docker] Dockerfile로 Docker에서 Spring boot 서버 실행

    [Docker] Dockerfile로 Docker에서 Spring boot 서버 실행

    도커에서 스프링 서버를 실행하면 유용한 점이 많다. 1. 독립적인 환경으로 서버를 배포할 수 있음 -> 컨테이너 밖에 영향을 주지 않음 2. 배포 환경에서 프로젝트 전체 코드를 가지고 있을 필요가 없다 -> .jar 파일만 갖고 있어도 서버를 실행할 수 있다. 이제부터 방법을 알아보자. Dockerfile 우선 Dockerfile을 준비하자. (파일명: Dockerfile) FROM openjdk:11 ARG JAR_FILE=*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] 대강 해석해보자면, 1. openjdk:11 이미지에 대해 컨테이너를 실행할 것인데 2. 현재 폴더에 대해 .jar 파일이 있다면, JAR_FILE 변수에 저장..

    [Spring] @Value, static 변수에 사용하기

    spring이 제공하는 @Value은 application.yml 등과 결합하여 변수를 상수처럼 사용할 수 있는 유용한 애노테이션이다. 예를 들어, 다음과 같이 사용할 수 있다. # applicatio.yml example: name: Han age: 26 // Example.java @RestController @RequestMapping("/example") public class Example { @Value("${example.name}") String name; @Value("${example.age}") String age; @GetMapping public String example() { return "Name: " + name + ", Age: " + age; } } // localhos..

    [Spring] Spring Security + Swagger 3.0 적용

    [Spring] Spring Security + Swagger 3.0 적용

    Swagger는 REST API의 문서화, 테스트를 용이하게 해주는 프레임워크이다. Spring에 Swagger를 적용하는 과정은 이전 글에서 다루었다. 2022.07.16 - [java/spring] - [Spring] Swagger 3.0 적용 [Spring] Swagger 3.0 적용 Swagger는 REST API의 문서화, 테스트를 용이하게 해주는 프레임워크이다. 나같은 경우는 백엔드 개발을 하면서 API들을 직접 문서화시켜서 다른 개발자들과 공유하곤 했는데, Swagger를 사용하면 개발 gksdudrb922.tistory.com 이번에는 Spring Security가 적용되어 있는 프로젝트에서 Swagger를 어떻게 적용시킬 수 있는지 알아보자. SwaggerConfig 이전에 만들었던 Sw..

    [Spring] Swagger 3.0 적용

    [Spring] Swagger 3.0 적용

    Swagger는 REST API의 문서화, 테스트를 용이하게 해주는 프레임워크이다. 나같은 경우는 백엔드 개발을 하면서 API들을 직접 문서화시켜서 다른 개발자들과 공유하곤 했는데, Swagger를 사용하면 개발과 동시에 자동으로 문서화를 시켜주기 때문에 요즘 유용하게 사용하고 있는 도구이다. 특히, Spring에서는 애노테이션을 통해 더 편리하게 Swagger를 사용할 수 있는데, 지금부터 해당 방법을 소개한다. 라이브러리 추가 먼저 Swagger 사용을 위해 구현체인 springfox 라이브러리를 추가한다. dependencies { ... implementation 'io.springfox:springfox-boot-starter:3.0.0' } SwaggerConfig Swagger를 위한 설정 ..

    [Spring] Spring Security + JWT 토큰을 통한 로그인

    [Spring] Spring Security + JWT 토큰을 통한 로그인

    JWT JWT(Json Web Token)은 일반적으로 클라이언트와 서버 통신 시 권한 인가(Authorization)을 위해 사용하는 토큰이다. 현재 앱개발을 위해 REST API를 사용 중인데, 웹 상에서 Form을 통해 로그인하는 것이 아닌, API 접근을 위해 프론트엔드에게 인증 토큰을 발급하고 싶을 때, 적절한 인증 수단이라고 생각해서 이를 Spring Security와 함께 적용해보려 한다. Spring Security + JWT의 동작 과정을 살펴보자. 기본 동작 원리는 간단하다. 1. 클라이언트에서 ID/PW를 통해 로그인을 요청하면 2. 서버에서 DB에 해당 ID/PW를 가진 User가 있다면, Access Token과 Refresh Token을 발급해준다. 3. 클라이언트는 발급받은 A..