인프런 커뮤니티 질문&답변

fe00045님의 프로필 이미지
fe00045

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

api 예외 처리

작성

·

175

1

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.
 
좋은 강의 감사합니다 :)
 
제가 이해하기로는
테스트를 하기 위해서 ApiExceptionController 에서 파라미터로 받은 것 같은데요.
 
실무에서는 어떤 방식으로 하는지 궁금해서 질문 올렸습니다..
 
예시 코드 있으시면 깃허브나 코드 복사 등 으로 답글 부탁드립니다
 
@RestController
public class ApiExceptionController {
	@GetMapping("/api/{id}")
 	public MemberDto getMember(@PathVariable("id") String id) {
 		if (id.equals("ex")) {
 			throw new RuntimeException("잘못된 사용자");
 		}
 		if (id.equals("bad")) {
			 throw new IllegalArgumentException("잘못된 입력 값");
 		}
 		if (id.equals("user-ex")) {
 			throw new UserException("사용자 오류");
 		}
 	}
}
 
 
 
 
@ExceptionHandler
public ResponseEntity<ErrorResult> userExHandle(UserException e) {
 	log.error("[exceptionHandle] ex", e);
 	ErrorResult errorResult = new ErrorResult("USER-EX", e.getMessage());
 	return new ResponseEntity<>(errorResult, HttpStatus.BAD_REQUEST);

답변 1

0

안녕하세요. fe00045님, 공식 서포터즈 OMG입니다.

스프링의 MockMvc테스트에 대해서 학습하시면 좋을 것 같습니다.

https://docs.spring.io/spring-boot/docs/2.7.0/reference/htmlsingle/#features.testing.spring-boot-applications.spring-mvc-tests (메뉴얼)

https://www.baeldung.com/spring-mvc-test-exceptions (mvc 예외 테스트 설명)

감사합니다.

fe00045님의 프로필 이미지
fe00045

작성한 질문수

질문하기