뚜sh뚜sh

[ERROR] 컨트롤러에서 JSON으로 데이터 반환할 때 406 에러 발생 본문

Framework/Spring

[ERROR] 컨트롤러에서 JSON으로 데이터 반환할 때 406 에러 발생

뚜sh뚜sh 2024. 1. 26. 22:09
@PostMapping("/signup")
public SignupResponse signup(@RequestBody String data) {
    log.info("서비스 로직 성공");
    return new SignupResponse(200, "회원가입이 완료되었습니다.");
}

위와 같은 코드를 구현한 다음 Postman을 실행했더니 406 Not Acceptable 에러가 발생했다.

찾아보니 요청 헤더와 응답 헤더에 application/json으로 세팅해줘야 한다고 했는데 난 이미 세팅된 후였다.

 

그러다 알게 된 사실은 Springboot는 기본적으로 객체를 JSON 형식으로 직렬화하여 클라이언트에게 반환한다는 사실을 알게 됐다.

객체를 직렬화하기 위해서는 객체의 필드에 접근할 수 있어야 하는데 내 SignupResponse 클래스에는 Getter 메서드가 없었기 때문에 필드에 접근할 수 없어서 발생한 에러였다.

따라서 SignupResponse에 @Getter를 붙였더니 해결되었다!

Comments