컨트롤러의 하나의 메서드에서 URL 접미사에 따라 다른 형식의 자료를 표출하도록 스프링 설정
- 작성자 :
- 황*진
- 작성일 :
- 2023-02-15 16:37:42
- 조회수 :
- 386
- 구분 :
- 개발환경 / 3.9
- 진행상태 :
- 완료
Q
노고가 많으십니다.
제목과 같이 컨트롤러의 하나의 메서드에서 요청받는 형태에 따라 다른 형식의 자료를 표출하도록 스프링 설정을 해보고 있는 신입 개발자입니다.
인터넷에서 각종 자료를 찾아보며 시도는 해보고있으나 수년이 지난 이전버전의 자료들로 인해 몇 가지 맞지 않는 부분이 있는 것 같아서 어려워하고 있습니다.
시도해보고자 하는 것은,
.do 로 끝나는 url 의 경우 text/html 형식으로 자료 표출
.json 로 끝나는 url 의 경우 application/json 형식으로 자료 표출
.xml 로 끝나는 url의 경우 application/xml 형식으로 자료 표출
이렇게 입니다.
첨부된 자료와 같이 json 과 xml 마샬링 관하여 의존성 추가 설정 후 web.xml 에도 json & xml 에 관한 servlet-mapping 설정까지 했습니다.
이후 dispatcher-servlet.xml 에 ContentNegotiatingViewResolver 등록과 Json View 를 담당할 MappingJackson2JsonView , XML View 를 담당할 Jaxb2Marshaller 설정을 해봤습니다.
테스트 결과는 URL 로 .do 방식과 .json 방식으로는 원하던 바와 같이 각각 text/html 과 appication/json 으로 응답받는 것을 확인했는데요.
문제는 xml 방식은 에러가 나서 정확한 원인이 어떤 부분인지 잘 모르겠다는 것 입니다.
( 에러 부분도 함께 첨부합니다. )
첨부된 자료 확인해주시고 설정이 잘못된 부분이 있거나 누락된 부분에 대해서 조언해주시면 대단히 감사하겠습니다.
좋은 하루 되십시오.
제목과 같이 컨트롤러의 하나의 메서드에서 요청받는 형태에 따라 다른 형식의 자료를 표출하도록 스프링 설정을 해보고 있는 신입 개발자입니다.
인터넷에서 각종 자료를 찾아보며 시도는 해보고있으나 수년이 지난 이전버전의 자료들로 인해 몇 가지 맞지 않는 부분이 있는 것 같아서 어려워하고 있습니다.
시도해보고자 하는 것은,
.do 로 끝나는 url 의 경우 text/html 형식으로 자료 표출
.json 로 끝나는 url 의 경우 application/json 형식으로 자료 표출
.xml 로 끝나는 url의 경우 application/xml 형식으로 자료 표출
이렇게 입니다.
첨부된 자료와 같이 json 과 xml 마샬링 관하여 의존성 추가 설정 후 web.xml 에도 json & xml 에 관한 servlet-mapping 설정까지 했습니다.
이후 dispatcher-servlet.xml 에 ContentNegotiatingViewResolver 등록과 Json View 를 담당할 MappingJackson2JsonView , XML View 를 담당할 Jaxb2Marshaller 설정을 해봤습니다.
테스트 결과는 URL 로 .do 방식과 .json 방식으로는 원하던 바와 같이 각각 text/html 과 appication/json 으로 응답받는 것을 확인했는데요.
문제는 xml 방식은 에러가 나서 정확한 원인이 어떤 부분인지 잘 모르겠다는 것 입니다.
( 에러 부분도 함께 첨부합니다. )
첨부된 자료 확인해주시고 설정이 잘못된 부분이 있거나 누락된 부분에 대해서 조언해주시면 대단히 감사하겠습니다.
좋은 하루 되십시오.
환경정보
-
- OS 정보 : window 10
- 표준프레임워크 버전 : 3.9
- JDK(JRE) 정보 : 1.8
- WAS 정보 : Tomcat 9.0
- DB 정보 : MySQL & MariaDB
- 기타 환경 정보 : -
A
안녕하세요.
표준프레임워크센터입니다.
첨부해 주신 자료 및 로그만 보고 판단했을 때 xml 형식과 java object의 불일치가 원인이라고 추측됩니다.
다만, 오류에 대한 정보가 제한적이므로
정확한 답변이 어려운 점 양해 부탁 드립니다.
해당 위키가이드 링크에서는 Caster와 XMLBeans 를 이용한 예제를 제공하고 있으므로 참고가 가능할 것으로 보입니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:marshalling_unmarshalling
감사합니다.
표준프레임워크센터입니다.
첨부해 주신 자료 및 로그만 보고 판단했을 때 xml 형식과 java object의 불일치가 원인이라고 추측됩니다.
다만, 오류에 대한 정보가 제한적이므로
정확한 답변이 어려운 점 양해 부탁 드립니다.
해당 위키가이드 링크에서는 Caster와 XMLBeans 를 이용한 예제를 제공하고 있으므로 참고가 가능할 것으로 보입니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:marshalling_unmarshalling
감사합니다.