인프런 커뮤니티 질문&답변
@ControllerAdvice이 작동을 안해서 질문을 드립니다.
작성
·
188
0
@ControllerAdvice 부분입니다.
@ControllerAdvice
public class ExceptionHandle {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<List<ValidResult>> validHandle(MethodArgumentNotValidException e){
return new ResponseEntity<>(makeValidResult(e.getBindingResult()), HttpStatus.INTERNAL_SERVER_ERROR);
}
private List<ValidResult> makeValidResult(BindingResult bindingResult){
List<ValidResult> list = new ArrayList<>();
for (FieldError error : bindingResult.getFieldErrors()) {
ValidResult validResult = new ValidResult(PropertyNamingUtils.changeBySnake(error.getField()), error.getDefaultMessage());
list.add(validResult);
}
return list;
}
그리고 컨트롤러 부분은
RestController
@RequiredArgsConstructor
public class DeliveryCtrl {
private final DeliveryService delService;
@PostMapping("/api/v1/fenote/pdtmng/deliveries")
public ResponseEntity<?> addDelivery(HttpServletRequest req, @Valid @RequestBody DeliveryVO deliveryVO) {
ShopSession shopSession = (ShopSession) WebUtils.getSessionAttribute(req, "shopSession");
DeliverySeVO vo = delService.addDelivery(shopSession, deliveryVO);
return new ResponseEntity<>(vo.getDelVO(), HttpStatus.OK);
}
이부분인데요 테스트코드로 @valid에 걸리게끔 계속 시도하는데
status 400 만 내보내고 @ControllerAdvice부분이 실행되지가 않습니다....
몇시간째 이유를 찾고 구글링해도 나오지 않아 결국 여기서 질문을드립니다
답변 1
0
김영한
지식공유자
안녕하세요. 박종혁님
전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 실행 방법을 알려주세요.
2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.
감사합니다.





