jackson-dataformat-xml 패키지를 도입한 후, 브라우저를 통한 모든 GET 요청은 원본 JSON에서 XML 형식으로의 데이터 타입을 반환하며, 아래 그림에서 보듯이 다음과 같습니다:
Accept in Request 헤더는 text/html, application/xhtml+xml, application/xml을 읽습니다; q=0.9,image/avif,image/webp,image/apng,*/*; q=0.8,application/signed-exchange; v=b3; q=0.9 이때, 브라우저의 요청 헤더 순서에 따라 콘텐츠의 협상이 문제인 것으로 보이며, 서버가 XML에 대한 MediaType 지원을 도입한다면 실제로 XML 문서를 먼저 반환해야 합니다.
XML 의존성을 사용할 때 기본 JSON 형식을 어떻게 반환하나요?
해결책 1
JSON 형식을 강제로 반환하는 컨트롤러나 메서드에 다음 주석을 추가하세요:
이 해결책이 문제를 해결할 수는 있지만, 많은 코드 수정이 필요합니다.
해결책 2
기본 ContentType을 설정하고, impments WebMvcconfigurer를 통해 configureContentNegotiation 메서드를 덮어쓰며, Accept 헤더는 무시하세요. 다음 코드로 사용하세요:
수정 후 렌더링은 다음과 같습니다:
(끝)
|