작성
·
163
·
수정됨
답변 2
0
안녕하세요. zzzzz님
build.gradle에 보시면 spring-boot-devtools가 포함되어 있습니다.
developmentOnly 'org.springframework.boot:spring-boot-devtools'
이 라이브러리가 포함되면 스프링 부트가 개발환경 모드로 작동하면서 더 많은 오류 메시지를 출력하도록 기능이 변합니다.
이 라이브러리를 제거하시면 됩니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
주신 링크와 설명을 보아하니, 400 Bad Request
오류에 대한 보다 세밀한 예외 처리를 원하시는 것 같습니다. 핸들러 예외 해결 방법 중 하나로 Spring MVC에서는 HandlerExceptionResolver
인터페이스를 사용하여 특정 예외에 대한 사용자 정의 처리를 할 수 있습니다.
예외 응답을 커스터마이징 하기 위해서는, 먼저 @ControllerAdvice
를 사용하여 전역 예외 핸들러를 만들고, @ExceptionHandler
를 사용하여 처리하려는 예외 유형을 지정해주어야 합니다. 강의 내용과 유사한 결과를 얻기 위해서는 IllegalArgumentException
같은 특정 예외에 대한 핸들러 메서드를 추가하고, 원하는 형식의 응답을 반환하도록 구성해야 합니다.
예를 들어, IllegalArgumentException
이 발생했을 때 JSON 형태로 상세 오류 메시지를 클라이언트에 전달하려면 다음과 같은 코드를 추가할 수 있습니다.
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = IllegalArgumentException.class)
@ResponseBody
public ResponseEntity<Object> handleIllegalArgumentException(IllegalArgumentException ex, WebRequest request) {
Map<String, Object> body = new LinkedHashMap<>();
body.put("timestamp", LocalDateTime.now());
body.put("status", HttpStatus.BAD_REQUEST.value());
body.put("error", "Bad Request");
body.put("message", ex.getMessage());
return new ResponseEntity<>(body, HttpStatus.BAD_REQUEST);
}
}
이와 같이 구현하면, IllegalArgumentException
이 발생했을 때 클라이언트에게 JSON 형태의 상세 오류 메시지를 반환할 수 있습니다. 강의에서 요구하는 정확한 형식이나 추가적인 속성이 있을 수 있으니, 강의 자료나 예제 코드를 참조하여 필요한 부분을 조정해 주세요.
전체 코드를 확인할 수 없기 때문에, 위 코드 조각이 직접적인 해결책은 아닐 수 있으나, 예외 핸들링 접근 방식에 대한 가이드라인을 제공합니다. 제공해주신 전체 코드에서, 이와 관련된 부분을 찾아 수정하거나 추가해 보세요.