<aside> 🔖 개인 프로젝트 - mmd

오류 응답


Rest API는 JSON 데이터로 요청하고 JSON 데이터로 응답하는 것이 표준방법입니다.

이는 오류를 응답할 때에도 같은 방식이 적용됩니다.

각 오류상황(정상/오류 등)에 맞는 응답스펙을 정한 뒤, 해당 포맷에 맞게 JSON으로 응답합니다.

Request Body

{
	"id" : "dallae",
	"pwd" : "password!@#"
}

Response Body

{
  "tiemStamp" : "2024-04-28T00:00:00.000+00:00",
  "status" : 404,
	"message" : "사용자를 찾을 수 없습니다.",
	"path" : "/api/login"
}

추상클래스로 Exception 규격 설정하기


추상클래스는 상속하는 클래스에게 메소드의 구현을 강제하면서, 해당 메소드의 내용을 위임 할 수 있습니다.

따라서 객체지향적인 예외 관리가 가능해집니다.

추상 클래스를 활용하면 API 의 성격에 따라 모두 다른 형식의 에러 응답을 공통적으로 설정할 수 있습니다.

✔️ 구현

추상 클래스

public abstract class CustomApiException extends RuntimeException {
    public abstract HttpStatus getStatus();

    public CustomApiException (String message) {super(message);}
}