Dev/Springboot 15

Swagger 를 사용해서 Type 이 Bearer 인 JWT Token 인증하기

개발환경 IDE : intelliJ FrameWork : springboot 3.2.2 Launguage : java 17 BuildTool : Gradle Swagger : SpringDoc 문제 상황 restAPI 생성 후 Swagger 를 이용해서 문서작성 도중 JWT 인증 관련 테스트를 위해서 Bearer 타입으로 인증정보가 넘어 와야했는데 자꾸 Bearer 가 누락된채로 JWT 키값이 넘어 왔다. 개발시 테스트는 Postman 을 사용 했다. 이때까진 전혀 문제가 없었는데.. Swagger 을 쓰니까 인증이 안됐다. 이전에, 내가 Swagger 를 사용하기 위해 참고한 링크와 build.gradle 은 다음과 같다 1. SpringDoc + Swagger 사용하기 [Spring Boot 3] S..

Dev/Springboot 2024.01.29

SpringBoot + JPA 환경에서 RestAPI 생성시 고려해야할 것들

회사에서 API 를 직접 생성해서 제공하고, 외부 API 를 가져와서 데이터를 파싱하는건 아주 흔한일이다. 처음에 지식이 없는 상태로 구축을 진행하게 되면, 유지보수 때 아주 힘들 수 있으므로 처음 개발을 진행할 때 항상 염두에 두어야 하는것들을 정리했다. 1. DTO 를 따로 만들자 Entity 는 여러군데에서 쓰기 때문에 변화가 많다. 따라서 외부에서 쓸 때 변화가 없는 request / response dto 를 따로 만들어서 작업하도록 하자. 실제로 유지보수할 때, 응답에 포함되는 responseBody 항목이 바뀌면 관련된 가이드 문서부터 시작해서 내가 제공한 사이트에서 나는 오류발생시 대응등.... 불편한점이 한두가지가 아니다. 그러므로 반드시 규격화된 DTO 를 생성하여 Entity 가 변경..

Dev/Springboot 2024.01.29

@ExceptionHanlder 처리와 @ RestControllerAdvice ResponseEntityExceptionHandler

SrpingBoot 환경에서 간단한 사용자 회원가입과 로그인을 구현하는 restAPI 를 만들다가, 예외처리를 위해 @ExceptionHandler 를 사용하던 도중 @RestControllerAdvice 와 ResponseEntityExceptionHandler 관련한 내용에 대해 궁금증이 생겨 찾아본 결과를 포스팅 하고자 한다. 사용한 스프링 부트 버전은 다음과 같다. 작업 환경 spring boot 3.2.2 1. @ControllerAdvice 와 RestControllerAdvice 의 차이 우선 나는 RestControllerAdvice 를 사용해서 관리할 ExceptionHandler 들을 하나의 파일로 묶었다. 이 때 ControllerAdvice 와 RestControllerAdvice ..

Dev/Springboot 2024.01.29

java.lang.ClassNotFoundException 오류 수정

실습내용 서블릿 컨테이너 초기화 후 애플리케이션 초기화가 되는 과정 확인 1) 실행했는데 spring/hello-spring 호출시 404 에러 발생 Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext > 스프링 라이브러리를 제대로 못 읽어 오는 건가 싶어서 Settings > Build, Excution, Deployment > Build Tools > Gralde 에서 'Build and run using', 'Runt tests using' 을 IntellJ IDEA 로 변경 후 NoClassDefFoundError 은 사라짐 2) java.io.IOException: java...

Dev/Springboot 2023.10.19