0.1.1
Pre-release
Pre-release
해당 서버 업데이트는 기존 동작에 영향을 주지 않습니다.
추가 기능
#24 CustomException 환경 조성
- 오류 상황에 대한 RAW 정보를 Client에 노출 최소화 및 해석된 정보 전달을 통한 문제파악에 도움이 목적
- CustomException Class 를 통해 사용자가 지정한 ErrorCode 를 throw 할 수 있음
- 아래 #9 의 형태로 반환 적용
- ErrorCode Enum 예시
// ipo
IPO_LIST_NOT_FOUND_EXCEPTION(NOT_FOUND, "II000", "조건에 맞는 조회 결과가 없습니다."),
IPO_COMMENT_WRONG_PARAMETER_EXCEPTION(BAD_REQUEST, "IC100", "조회 대상이 올바르지 않습니다. (ipo index 오류)"),
// jwt
MALFRMED_JWT_EXCEPTION(NOT_FOUND, "J000", "잘못된 JWT 서명입니다."),
EXPIRED_JWT_EXCEPTION(NOT_FOUND, "J001", "만료된 JWT 토큰입니다.")
;
private final HttpStatus status;
private final String code;
private final String message;
#9 ResponseBody 수정 (공통반환 클래스 작성)
- 공통된 요청반환 형식 지정을 위한 데이터 클래스
- 현재는 사용자 정의 예외 반환 (CustomException Response) 시에만 사용됨
- 일반 API 반환시 ResponseEntity 와 동일하게 기존 DataClass(DTO)를 감싸는 형태이나, ResponseEntity 와는 다르게 Body에 영향을 주게되어 Swagger 반환 형식이 이상해져 확인이 필요한 상태
- CustomException Response Example
{
"status": 404,
"code": "II000",
"message": "조건에 맞는 조회 결과가 없습니다.",
"body": [],
"timestamp": "2022-09-22T15:44:07.6"
}
성능 향상을 위한 리팩토링
#16 JWT Filter 변경
- JWT 토큰 검사를 위한 필터 변경
- 기존 GenericFilter 에서 OncePerRequestFilter 로 변경
- 사용자 요청에 대해 1번만 토큰검사를 진행하여 성능 향상
#36 web mvc html 관련 기능 제거 (템플릿 엔진 등)
- 사용하지 않는 web mvc html 페이지 관련 파일 및 기능 제거
- html 페이지용 controller 제거
- html template engine lib.(dependency) 제거 -> thymeleaf, devtools
- 관련 설정 제거
- auto reload 에 따른 데이터베이스 강제 종료 문제 개선
단순 리팩토링
#40 RequestMapping 구문 대체
- 기존
@RequestMapping
어노테이션 내의 옵션(method)으로 HttpMethod를 지정해주었으나 이를 직관적으로 나타내기 위하여 각 메소드별 매핑을 사용함 @RequestMapping
->@GetMapping
,@PostMapping
,@PutMapping
,@DeleteMapping
...