개발일지/League Linker

🚨ERROR - [spring boot] GET 요청 시 406 오류 발생

기억지기 개발자 2024. 8. 31. 14:29

🏕️ 문제 발생

최근 Spring Boot 기반의 웹 애플리케이션에서 GET 요청을 테스트하기 위해 Postman을 사용했다.

API 엔드포인트는 특정 사용자의 정보를 반환하는 기능을 가지고 있었고, 요청이 성공적으로 처리되기를 기대했다.

그러나 요청을 전송할 때 HTTP 406 Not Acceptable 오류가 발생했다.

이 오류는 서버가 클라이언트의 요청에 적합한 응답을 제공할 수 없을 때 발생하는 것이다.

실제 post men 오류 화면

💦 오류의 원인

HTTP 406 오류의 주요 원인은 서버가 요청한 형식으로 응답을 제공할 수 없을 때 발생한다.

클라이언트에서 요청을 보낼 때 Accept 헤더를 통해 원하는 응답 형식을 명시하고, 서버가 이 형식으로 응답하지 않으면 406 오류가 발생한다.

 

🔑 문제 분석 및 해결 과정

문제 해결을 위해 DTO 클래스에 @Getter 어노테이션을 적용했다.

@Getter 어노테이션은 Lombok 라이브러리의 기능으로, 클래스의 모든 필드에 대한 getter 메서드를 자동으로 생성해 준다.

이 어노테이션을 적용함으로써 JSON 직렬화에 필요한 접근자 메서드가 자동으로 생성되었고, Jackson 라이브러리가 DTO의 필드를 올바르게 읽을 수 있게 되었다.

해결 방법을 적용한 코드