# 406

@PathVariable에 email이 안들어가??
406에러를 만나서 콘텐츠 협상까지 의식이 흐름대로 야크 쉐이빙 최근 API를 개발하면서 @PathVariable에 email을 넣어야 할 일이 생겼는데 만든 API가 406 에러를 띄우는 문제가 있었다. 406 에러? > 406 에러란 서버가 요청의 사전 콘텐츠 협상 헤더에 정의 된 허용 가능한 값 목록과 일치하는 응답을 생성 할 수 없으며 서버가 기본 표현을 제공하지 않음을 나타냅니다. 라고 한다. https://velog.io/@_koiil/406-%EC%97%90%EB%9F%AC%EB%8A%94-%EB%AD%94%EA%B0%80%EC%9A%94 https://kth990303.tistory.com/304 수 많은 정보를 찾아보니 Java Object를 Json 형태로 담기위해 Jack
406 Not Acceptable 에러 및 해결
Spring 에서 프로젝트를 진행하다 406 Not Acceptable 이라는 오류를 만났다. 검색을 해보니 406 Not Acceptable 은 Accept 같은 헤더에 기입된 형식을 생성하지 못할 때 발생하는 에러라는 것을 알게 되었다. 계속 삽질을 하다가 문제를 찾았다. 가장 흔한 문제이기도 한 jackson 라이브러리가 없어서 발생한 것이었다. 하지만 나는 springboot 프로젝트에서 Enttiy 클래스를 DTO로 치환하는 데 문제가 생긴 것이었다. DTO 클래스에 @Getter 를 붙여주면 문제가 해결되었다!
TIL/TIS 211106
406 Not Acceptable Error 서버가 요청의 헤더에 정의된 응답을 생성할 수 없을때 발생하는 에러(Not Acceptable). 해결 : 일반적으로 jackson 라이브러리의 의존성이 없을때 발생한다. 그러나 spring-boot-starter-web에 포함되므로 해당사항 없음. 아래의 코드에서 반환할 ResponseDTO\를 ResponseEntity에 담아서 보낸다. 이때 ResponseDTO에 @setter가 없었기 때문에 보낸 json을 만들수 없었고, 406error가 발생한걸로 보인다. -> @Data추가. 참고한곳 : zzang9ha.tistory