일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 서브쿼리
- 추후정리
- 컨테이너실행
- 검색
- 2 > /dev/null
- 참조키
- 메소드명
- foreignkey
- ㅔㄴ션
- subquery
- MySQL
- 적용우선순위
- 메세지수정
- application.yml
- appspec
- AuthenticationEntryPoint
- 테스트
- WeNews
- Query
- querydsl
- appspec.yml
- 포트
- 네이티브쿼리
- 외부키
- ubuntu
- 예약
- 커밋메세지수정
- docker명령어
- EC2
- 테스트메소드
Archives
- Today
- Total
제뉴어리의 모든것
HttpMediaTypeNotAcceptableException: Could not find acceptable representation 본문
BugNote
HttpMediaTypeNotAcceptableException: Could not find acceptable representation
제뉴어리맨 2022. 8. 24. 17:33에러 상황
Controller에서 발생되는
MethodArgumentNotValidException.class 예외처리를 위해
ExceptionHandler를 만들어 주었다.
바로 아래처럼 말이다.
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity MethodArgumentNotValidException(MethodArgumentNotValidException e) {
final List<FieldError> fieldErrors = e.getBindingResult().getFieldErrors(); //유효성 에러를 발생시키는 필드가 여러개 일 수 있으므로
ErrorResponse.FieldError fieldError = new ErrorResponse.FieldError();
List<ErrorResponse.FieldError> errorList = fieldErrors.stream().map(error -> new ErrorResponse.FieldError(
error.getField(), error.getRejectedValue(), error.getDefaultMessage())).collect(Collectors.toList());
ErrorResponse errorResponse = new ErrorResponse(errorList);
return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);
}
그리고 테스트를 해보려고 PostMan을 이용하여 HTTP 메소드를 날려보았다.
그랬더니
HttpMediaTypeNotAcceptableException: Could not find acceptable representation 라는 에러 메세지가 발생하였다.
어쨋든 원인을 찾아보니.
위 코드 중 아래의 내용에서 발생되었다.
return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);
원인을 찾아보니
FieldError 클래스에 Getter 메소드들이 없어서,
@AllArgsConstructor
@NoArgsConstructor
public static class FieldError{ //static 멤버 클래스
private String field;
private Object rejectedValue;
private String reason;
}
해당 필드값들을 읽어서 HttpResponse 객체를 만드는 과정에서 에러가 난것 같다..
결국 @Getter 애노테이션을 붙여서 해결하였다.
참조 : https://taengsw.tistory.com/49
'BugNote' 카테고리의 다른 글
No identifier specified for entity 문제 해결 방법~ (0) | 2022.09.02 |
---|---|
스프링 JPA 사용중 Error: java: no suitable constructor found for VO(long,java.lang.String) 에러 (0) | 2022.09.01 |
intellij에서 콘솔에서 한글 찍을때 깨지는 경우 (0) | 2022.08.11 |
@Query 이용하여 Update 문 실행시 에러.. (0) | 2021.03.16 |
repository로 entity 가져왔을때 no Session 에러.. (0) | 2021.03.01 |