[Team Project] 멋사 백엔드 스쿨 종합 프로젝트 - 엔드포인트 정리
·
회고록/Archive
1차 엔드포인트 정리 HTTP Method Endpoint Entity 분류 상세 엔드포인트 분류 GET /api/v1/member/followers Follow 내 피드에서 나의 팔로워 조회하기 api/v1/member GET /api/v1/member/followings Follow 내 피드에서 나의 팔로윙 조회하기 api/v1/member GET /api/v1/faq FAQ FAQ 전체 조회하기 api/v1/faq GET /api/v1/faq/{faqCategory} FAQ FAQ 카테고리로 조회하기 api/v1/faq GET /api/v1/faq/searches/{keyWord} FAQ FAQ 키워드 검색으로 조회하기 api/v1/faq GET /api/v1/faq/{faqNo} FAQ FAQ 클..
[Team Project] 멋사 백엔드 스쿨 종합 프로젝트 - 아이디어톤
·
회고록/Archive
아이디어톤 문화라는 아이템으로 모이게 된 팀으로 최대한 해당 도메인을 살릴 수 있는 아이템이 무엇이 있을지 이야기를 나누었다. 기획에 주어진 시간은 이틀, 약 8시간 정도. 목요일 오후 4시부터 6시까지 아이템에 대한 이야기를 나누고 금요일 오전 내로 아이템을 결정하고 오후에 발표 자료를 만들어야 했다. 최대한 콘텐츠가 메인을 이루는 아이템은 제외했다. 우리는 개발을 하는 사람이지 콘텐츠를 만드는 사람이 아니므로, 콘텐츠가 빠졌을 때 매력 없는 아이템은 필요없다고 판단했다. 아이디어 확정 최종적으로 내미콘(내가 미는 콘텐츠)이 결정되었다. 한 줄 소개 뜨지 못해 아쉬운 음악, 팬심 포인트로 투자하고 홍보해보자 타겟 유저 본인만 알고 있던 음악을 자랑하고, 그 음악을 차트에 올리고 싶은 사람들 새로운 음악..
[Swagger Error] Spring boot 3.0.x 이상 springdoc-openapi Swagger 화면이 로드되지 않을 때.
·
Server/Error
다음과 같이 swagger-ui에 접속은 되는데, 내용들이 불러와지지 않고 하얀 화면만 보이는 증상이 발생했다. Spring Security 경로도 열어줬고, 설정도 다 했는데 왜 안될까 고민하며 F5만 누르다가 혹시 몰라 F12를 눌러 콘솔을 찾아봤다. 다음 사진을 보면 /swagger-ui/ 다음으로 하위 경로에 있는 .css, .js 파일들이 로드되지 못하고 있는 것을 알 수 있었다. 기존 Security Config에서 Swagger의 경로 지정을 아래와 같이 지정했었는데 private final String[] SWAGGER = {"/v3/api-docs", "/swagger-ui", "/swagger-ui/index.html"}; 하위 경로까지 모두 허용하는 코드로 변경했다. private f..
[Spring Boot] SpringBoot 3.0.x 이상에서 Swagger 사용
·
Server/Spring&Spring Boot
Java 17, Spring Boot 3.0.x 이상은 도대체 무슨 격동이 일어난 것일까.. 기존에 사용하던 세팅이 지원이 안 되는 경우가 많다. Swagger 역시 springfox로 설정하여 접속하게 되면 403 에러가 발생하면서 접속 자체가 막혀버리는 현상이 일어났다. 스택오버플로우를 찾아보니 springfox-boot-start 3.0.0, springdoc-openapi-ui 1.6.13 등이 아직 spring boot 3.0을 지원하지 않고 있는 것 같다. 우리가 사용할 수 있는 방법은 springdoc-openapi-starter-webmvc-ui 사용하는 방법이었다 의존성 추가 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-..
[Swagger Error] java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present
·
Server/Error
Swagger를 추가하고 난 후, 새로운 새로운 예외가 발생하기 시작했다. java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present stackoverflow를 찾아보니 Spring Boot 3.0은 JavaEE가 아닌 Java 17 및 JakartaEE용으로 빌드되었고, 현재 JakartaEE를 지원하는 SpringFox 릴리즈가 존재하지 않기 때문에 생기는 오류라고 한다. 해결 방법으로는 javax.servlet에 관한 의존성을 추가하면 된다. Gradle implementation 'javax.servlet:javax.servlet-api:4.0.1' Maven javax.servlet javax...
[Spring Boot] Spring Security 6.0 Configuration.
·
Server/Spring&Spring Boot
새로운 프로젝트를 시작하면서 Spring Boot 3.0.1, Java 17을 사용하게 되었다. 기존 Spring Boot. 2.7.x 버전에서 사용하던 Spring Security 설정을 그대로 복사 붙여 넣기를 했더니 @deprecated된 명령어도 있고, 아예 사라진(변경된) 명령어가 존재하여 새로운 버전에 맞춰 코드를 수정하였다. 기존 Security 설정 @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig { private final UserService userService; @Value("${jwt.secret}") private String secretKey; @Bean public Se..
[Spring Boot Error] Spring boot 3.0.0 이상, Java 17 미만 gradle build error
·
Server/Error
팀프로젝트를 위해 깃랩 레파지토리에서 프로젝트를 pull 한 상황인데, 다음과 같은 에러가 발생했다. Java 17 미만의 버전을 사용할 경우 해당 에러가 발생한다는 것을 알고 있었기 때문에 프로젝트 설정에 들어가서 Java 17 버전을 선택하였다. 하지만 여전히 Java 11로 되어있다고 에러가 발생하면서 빌드가 되지 않았다. 다시 Settigs -> gradle 부분에서 Java 11로 되어 있는 부분을 발견하고 해당 부분을 변경한 후 Java 17 버전을 찾아 선택한 후 다시 그래들 빌드를 시켜주었다. 성공!
[Project] 2차 미션 발표 내용 - Redis 적용과 활용
·
회고록/Archive
발표를 앞서 REDIS에 설치를 진행하면서 Local 문제가 발생하여 멘토님께 질문하고, REDIS를 설치함으로써 에러가 발생하여 Spring이 올라간 Container가 Doker에서 떨어지면서 채점이 되지 않아 강사님께 질문하다가 REDIS와 Refresh 토큰을 시도하고 있다는 것을 들키면서 이 발표를 진행하게 되지 않았나 생각이 듭니다. 저보다 REDIS를 먼저 시도하고, 이미 프로젝트를 완료해 본 경험이 있으신 분들이 계실 것입니다. 저는 아직 완벽하게 성공을 이룬것이 아니고, 여전히 여러 방법을 시도 중에 있다는 것을 감안하고 발표를 들어주시면 감사하겠습니다. 틀린 점이나, 고민하고 있는 상황에 대해 답을 알고 계신 분은 댓글(또는 라운지 채널에)을 남겨주시면 감사하겠습니다. 꼭..! REDI..
코드플리
코드 플레이 리스트