406을 반환하는 Spring JSON 요청(허용되지 않음)
JSON 요청을 Spring MVC 컨트롤러에 보내려고 할 때 일부 사용자에게 다음과 같은 문제가 발생합니다. "406 허용되지 않음" 오류. 이 문제는 요청된 콘텐츠 유형("application/json")과 컨트롤러의 응답 기능 간의 불일치로 인해 발생합니다.
Spring MVC에서 컨트롤러 메서드에는 "@ResponseBody"라는 주석이 붙어 있습니다. 반환 값은 JSON으로 HTTP 응답 본문에 기록되어야 합니다. 그러나 적절한 HTTPMessageConverter가 애플리케이션 컨텍스트에 등록되지 않으면 Spring은 반환 값을 요청된 형식으로 변환할 수 없습니다.
이 오류의 일반적인 원인은 애플리케이션에 Jackson 라이브러리가 없기 때문입니다. 클래스 경로. Jackson 라이브러리는 Java 객체를 JSON으로 또는 그 반대로 변환하는 작업을 담당하는 HTTPMessageConverter를 제공합니다.
문제를 해결하려면 다음 단계를 따르세요.
다음 Jackson 라이브러리가 다음과 같은지 확인하세요. 애플리케이션 클래스 경로에 포함됩니다:
Spring 3.0 이상을 사용하는 경우 spring-servlet.xml 구성 파일에 다음 줄을 추가하여 주석 기반 MVC 구성을 활성화합니다.
이 단계를 구현하면 HTTPMessageConverter가 등록되고 Spring은 예상대로 컨트롤러의 반환 값을 JSON으로 변환할 수 있습니다. .
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3