[Junit Error] OAuth2 등록 후 발생하는 "org.springframework.security.core.userdetails.UserDetails.getAuthorities()" because "userDetails" is null
·
Server/Error
문제 OAuth2를 사용하는 SNS로그인을 구현하고 난 다음, 갑자기 대부분의 테스트 코드에서 에러가 발생하기 시작했다. @Test @DisplayName("추천글 작성") void success_post_recommend() throws Exception { RecommendPostRequest request = new RecommendPostRequest("제목", "내용", "유튜브", 100L, 1L); RecommendPostResponse response = new RecommendPostResponse(1L, "제목", 100L); given(recommendService.uploadPost(any(), any(), any())).willReturn(response); MockMultipar..
[OAuth2 Error] OAuth2 Consider defining a bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' in your configuration.
·
Server/Error
Description: Parameter 0 of method setFilterChains in org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration required a bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' that could not be found. Action: Consider defining a bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRe..
[Querydsl] Spring Boot 3.0 이상 Querydsl 세팅 gradle
·
Server/Spring&Spring Boot
build.gradle 설정 plugins { ... id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } ... dependencies { ... implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakart..
[Oracle] 오라클 8080 Port 변경하기
·
Basic/Database
Oracle을 설치하다 보면 기본적으로 8080 port를 오라클에 배정하게 되는데, 이게 생각보다 많은 귀찮음을 유발한다. 국비지원 교육을 받게 되면 편할지 몰라도, 오라클을 접하지 않고 MySQL로 개발을 처음 접하는 사람들과 프로젝트를 진행하다 보면 다들 8080 포트를 사용하는데 오라클 설치자들은 계속 application.properties 또는 applicaion.yml에서 포트번호를 수정해야 하기 때문이다. 그래서 아예 오라클이 쓰고 있는 8080포트를 변경시키기로 생각했다. 다행히 인터넷에 많은 정보들이 있었다. 변경 윈도우에서 CMD(명령 프롬프트)를 실행한다. sqlplus를 입력하여 sql 명령어를 입력하여 sql 화면으로 넘어간다. user-name에는 sys as sysdba를 입..
[Spring] TomcatServletWebServerFactory Port 설정
·
Server/Spring&Spring Boot
인프런에 열린 토비님의 강의 초반부를 따라가던 도중 직접 톰캣을 실행시키는 부분이 있었다. application.properties에서 port설정을 8088로 변경했음에도 불구하고 8080 포트로 계속 연결이 되고 있었다. (8080은 현재 오라클 DB에서 사용하고 있는 상태.) 헛손질 TomcatServletWebServerFactory에 setPort를 하는 명령어가 있나 하고 찾아보니 딱히 나오지 않아, 인터페이스와 추상 클래스를 타고 올라가 봤다. 찾으러 뱅글뱅글 쭉쭉 타고 올라가다 보니 ConfigurableWebServerFactory에 setPort 하는 부분을 발견했다. 해당 인터페이스를 AbstractConfigurableWebServerFactory에서 구현을 해줬고, Abstract..
[Postman] DTO와 File을 동시에 전송하는 법
·
Server/ETC.
게시물을 업로드하면서, 해당 게시물의 썸네일을 이미지로 저장해야 하는 상황이 발생했다. API를 구성하고 테스트를 돌리기 위해 Postman을 실행시켰는데 에러가 발생했다. HttpMediaTypeNotSupportedException .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'multipart/form-data;boundary=--------------------------186452156954590287007968;charset=UTF-8' is not supported] 다음과 같은 에러가 발생했다. 위의 에러는 컨트..
[Spring Boot] AWS S3에 파일 업로드
·
Server/Spring&Spring Boot
IAM 사용자 생성 사용자 이름을 입력하고 다음으로 넘어갑니다. 검토 후 사용자를 생성합니다. 생성된 사용자에 들어가서 보안 자격 증명의 액세스키를 생성합니다. 체크박스에 체크 후 다음 버튼을 클릭합니다. 태그 설명을 작성한 후 엑세스 키를 생성합니다. 액세스 키와 비밀키를 저장합니다. 이후로 확인이 어려우니 csv 파일을 다운로드하여 보관합니다. 스프링 build.gradle 설정 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' Application.yml 설정 # multipart 설정 spring.servlet.multipart.max-file-size: 10MB spring.servlet.multip..
[AWS S3] 이미지 업로드/삭제 테스트
·
Server/Infra
이미지 업로드 해당 버킷을 선택합니다. 이미지 파일을 드래그해서 옮겨 올립니다. 다시 S3 버킷을 들어가면 업로드한 파일을 확인할 수 있습니다. 객체 URL을 누르면 업로드된 이미지를 확인할 수 있습니다. 삭제 버킷에서 삭제할 객체(파일)을 선택하고 삭제 버튼을 클릭합니다. 영구 삭제를 타이핑한후 삭제 버튼이 활성화되면 버튼을 눌러줍니다.
코드플리
코드 플레이 리스트