• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

ErrorDecoder랑 FallbackFactory

23.01.12 09:37 작성 조회수 584

0

안녕하세요.

강의를 듣다가 궁금한 점이 생겨서 질문 드립니다.

  1. ErrorDecoder랑 FallbackFactory의 차이점이 무엇인지 알 수 있을까요?

    1. FallbackFactory는 어떤 에러가 발생하든 개발자가 설정한 값으로 리턴만 해주는 것이고

    2. ErrorDecoder는 에러를 상세를 관리할 수 있어서 에러에 따라서 원하는 값으로 리턴해주는 것일까요?

  2. 보통 둘이 같이 사용하나요? 아니면 따로 따로 사용하나요?

답변 1

답변을 작성해보세요.

0

안녕하세요, 이도원입니다.

ErrorDecoder, FallbackFactory 모두 에러를 핸들링 하기 위해 사용 될 수 있습니다.

Fallback, FallbackFactory는 Circuit breaker 패턴에 맞춰 구현되었으며, netflix hystrix에서 구현되어져서 사용되고 있습니다. Fallback은 간단하게 사용하실 수 있지만, http 상태 코드를 catch할 수 없으며, 오류가 발생되었을 때 해당 메소드로 사용자의 요청을 직접 전달하지 않고, 대체 코드를 실행하기 때문에, 원인을 직접 catch 할 수 없습니다. 따라서, 일반적으로는 FallbackFactory를 구현하여 예외를 핸들링 합니다. ErrorDecoder는 Feign-core에서 사용되기 시작했으며, 상태 코드가 2xx 범위에 없을 때, Http 응답을 제어하기 위해 @Component로 등록 된 빈에 의해서 예외를 핸들링할 수 있습니다.

질문하신 내용처럼, 2개의 구현방법을 모두 사용하셔도 상관없지만, 일반적인 예외 핸들링과 자세한 메소드 및 상태 코드의 제어 유무에 따라 방법을 나누셔도 좋을 것 같습니다.

감사합니다.