타임리프를 쓴 경우엔 error.html 만들어주면 에러 처리 가능
RestApi는 아래처럼 try-catch나 @ExceptionHandler를 이용하면 된다
1.try - catch 구문 사용하거나
2. ExceptionHandler를 만들거나 - 컨트롤러마다 박으면 컨트롤러가 많으면 아찔해짐
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handler(){
return ResponseEntity.status(404).body("asd");
}
3. 모든 컨트롤러의 에러를 캐치하는 @ControllerAdvice 어노테이션을 사용한 클래스를 만들기
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handler1(){
return ResponseEntity.status(404).body("URL 잘못입력");
}
@ExceptionHandler(MethodArgumentTypeMismatchException.class)
public ResponseEntity<String> handler2(){
return ResponseEntity.status(404).body("타입 잘못입력");
}
}
'스프링 쇼핑몰 만들어보기' 카테고리의 다른 글
Ajax, 쿼리 스트링 (0) | 2024.05.03 |
---|---|
UPDATE 기능 만들기 (0) | 2024.05.03 |
서비스 컨트롤러 분리 (1) | 2024.05.01 |
타임리프 문법 (0) | 2024.05.01 |
Mysql Azure 워크벤치 연동하기 (0) | 2024.05.01 |