일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- JSON
- html form
- 의존관계
- 백준
- @configuration
- objecterror
- 인터페이스
- 참조변수
- 오블완
- 스프링컨테이너
- 서블릿
- 티스토리챌린지
- HttpServletResponse
- 테스트코드
- ocp
- 스프링
- http 메시지 컨버터
- fielderror
- 코딩테스트
- 오버라이딩
- 싱글톤
- 코드트리
- 코드트리조별과제
- 추상클래스
- 김영한
- 프록시
- java
- 다형성
- DI
- equals()
- Today
- Total
목록2024/10/09 (2)
minOS
API 예외 처리 - DefaultHandlerExceptionResolverDefaultHandlerExceptionResolver` 는 스프링 내부에서 발생하는 스프링 예외를 해결한다. 대표적으로 파라미터 바인딩 시점에 타입이 맞지 않으면 내부에서 `TypeMismatchException` 이 발생하는데, 이 경우 예외가 발생했기 때문에 그냥 두면 서블릿 컨테이너까지 오류가 올라가고, 결과적으로 500 오류가 발생한다. 그런데 파라미터 바인딩은 대부분 클라이언트가 HTTP 요청 정보를 잘못 호출해서 발생하는 문제이다. HTTP 에서는이런 경우 HTTP 상태 코드 400을 사용하도록 되어 있다.`DefaultHandlerExceptionResolver` 는 이것을 500 오류가 아니라 HTTP 상태 코..
API 예외 처리 - ResponseStatusExceptionResolverResponseStatusExceptionResolver는 예외에 따라서 HTTP 상태 코드를 지정해주는 역할을 한다.다음 두 가지 경우를 처리한다.1) @ResponseStatus가 달려있는 예외2) ResponseStatusException 예외@ResponseStatus가 달려있는 예외예외에 다음과 같이 `@ResponseStatus` 애노테이션을 적용하면 HTTP 상태 코드를 변경해준다.package hello.exception.exception;import org.springframework.http.HttpStatus;import org.springframework.web.bind.annotation.ResponseS..