Skip to content

0.1.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@chhs2131 chhs2131 released this 27 Sep 05:45
· 143 commits to develop since this 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 ...