미니프로젝트 2일차. 오늘은 남은 코드를 다 짜고 리팩토링을 진행했다. 프론트와 속도 차이가 나서 일단 임시로 배포를 진행했다.
문제 : HttpMediaTypeNotAcceptableException 406 에러가 떴다.
시도 : 필터와 config쪽 오류인지 점검해봤으나 나오지 않았다.
헤더에 Content-Type application/json 을 넣고 빼고 해봤으나 상관없는 에러였다.
구글링 해보니 아래 사이트에 문제 해결 방법이 있었다.
참고사이트
해결 : MessageResponseDto에 @Getter가 없어서 생긴 오류였다. 여기에 @Getter를 달아두니 에러가 해결되었다.
@Getter
public class MessageResponseDto {
private int statusCode;
private String msg;
public MessageResponseDto(HttpStatus httpStatus, String msg){
this.statusCode = httpStatus.value();
this.msg = msg;
}
}
여기에는 private 로 선언되어 있는 변수들인데 DTO에 Getter가 없으면
ResponseEntity.ok(new MessageResponseDto(HttpStatus.OK, "회원가입이 성공적으로 진행되었습니다."));
이렇게 반환할 때 ResponseEntity가 private 변수 값들을 받아오지 못하기 때문이다.