전체 글(364)
-
[Spring Boot] Email 기능 구현
Spring으로 이메일로 메일을 전송하는 기능을 구현해보도록 하겠습니다. !! 또한 maven 환경에서 프로젝트를 운영하고 있으며, 일부러 Spring Boot 버전을 낮춰 사용하므로 사용하는 디펜던시들의 버전 또한 낮은 버전을 사용하고 있음을 미리 알려드립니다. 1. Dependency Import [Maven일 경우] javax.mail mail 1.4.7 org.springframework.boot spring-boot-starter-mail 3.1.4 ====================================================================== ====================================================================..
2023.10.16 -
[에러] Swagger - Content-Type 'application/octet-stream' is not supported
[Reason] 간단히 만든 회원가입 api는 json 형식의 Dto 객체 데이터와 이미지를 받는 multipart 형식의 데이터를 요청 변수로 받고 있다. 그리고 Swagger 를 적용하고 실행하여 각각 알맞게 데이터를 넣어주고 try it out 을 실행했을 때 위와 같이 415 : Content-Type 'application/octet-stream' is not supported 에러가 발생하였다. 위의 api에서도 볼 수 있듯이 consumes 속성도 추가해주었고, produces 속성도 추가하여 알맞은 데이터 형식으로 매핑해주었고, 혹시나 해서 각각 파라미터마다 @Parameter 어노테이션을 붙여 content 속성까지 추가하여 한번 더 알맞은 형식의 데이터임을 swagger에게 알려주도록 ..
2023.10.05 -
[이슈] Swagger 각각 다른 데이터 형식의 다중 요청 매개변수 존재 시 json 형식으로 묶음처리 되는 이슈
[Reason] 위의 이미지 처럼 회원가입 api 를 만들고 Swagger를 적용하여 문서화를 적용하였으나 swagger 자체에서 try it out 을 실행할 때 요청되는 매개변수들이 서로 다른 형식의 요청 데이터임에도 불구하고 하나의 Request Body json 형식으로 묶어서 처리되어 원하는 것처럼 두 가지의 데이터로 요청할 수 없었다. [Solution] 알고보니 rest api 요청 메소드 어노테이션인 @PostMapping 부분에 consume 속성, produces 속성을 추가하고 요청 매개변수 부분에 @Parameter 어노테이션을 추가하여 Swagger에서 사용할 파라미터임을 명시해 주어야 했다. consume 속성은 클라이언트 측에서 요청할 때 요청되는 데이터들의 형식을 지정해주는 ..
2023.10.05 -
[Spring Boot] Springdoc-openapi Swagger 적용 (+ JWT 사용 시 적용법)
백엔드 개발 후 프론트와 원활한 협업을 위해 Api 문서화 작업이 필요합니다. 따라서 가장 흔히 볼 수 있는 Swagger를 적용하는 방법에 대해서 알아보겠습니다. ! 저는 gradle 환경입니다. 1. Build.Gradle 디펜던시 import // Swagger implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0' Swagger 디펜던시를 받아줍니다. Swagger에는 Springdoc, Springfox 이 두 가지가 대표적으로 있는 것으로 알고있는데 Springdoc 를 사용해야 하는 것이 좋습니다. Springdoc는 지속적으로 오늘날까지 계속 지원해주고 업데이트되고 있지만 Springfox의 경우에는 업데이트가 중단..
2023.10.04 -
[Spring Boot] 구글 Oauth2 인증 및 구글 소셜 로그인 기능 구현
이전에는 구글 로그인을 구현하기 위해 선행되어야할 구글 쪽 Oauth 클라이언트를 생성하는 과정을 정리해보았습니다. 이번에는 만든 구글 클라이언트를 이용하여 본격적으로 구글 소셜 로그인을 구현해보도록 하겠습니다. 우선 저는 구글 로그인을 적용시키기 이전에 Spring Security 와 JWT 를 사용함으로서 기본적인 사용자들에 대한 관리를 수행하고 있다는 전제를 깔아두도록 하겠습니다. 즉, JWT, Spring Security에 대한 설정은 각자 해놓은 뒤에 거기에 맞게끔 본 내용을 수정시켜가며 적용해야 합니다. 대표적으로 JWTTokenProvider 와 같은 클래스 파일들이 그 예입니다. 혹시 모르니 제가 세팅한 JWT, Spring Security 관련 설정 파일들도 올리겠습니다. # JWT, S..
2023.09.20 -
Oauth2 구글 로그인 인증 (클라이언트 ID 발급)
개발을 진행하다보면 소셜 로그인 기능들을 자주 만들어야 되는 상황이 오는데 이중에서 구글은 가장 자주 개발 요청이 들어오는 소셜인 것 같습니다. 구체적으로 제가 주로 개발을 진행하는 java, Spring 에서 어떻게 적용해야 되고 개발을 해야되는지는 이 다음에 정리하도록 하고 이번에는 개발을 진행하기 이전에 선행적으로 구글 쪽에 요청하고 설정해야되는 부분들을 정리해보도록 하겠습니다. https://console.cloud.google.com Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 우선 당연하게도 구글 로그인을 만들려면 구글 측의 허가가 필요합니다. 위의 사이트에 접속해서 계정이 없다면 계정을 만들어주도록 합니다. 계정을 만들고 난 이..
2023.09.18