티스토리 뷰

 

  1   XML Response



 컨트롤러에서 리턴되는 데이터를 XML로 표현하는 예제입니다. 프로젝트 구성 환경은 요청(Request)헤더의 Accept값과 Content-type에 의해  스프링에서 자동적으로 메시지컨버터를 사용하여 리턴되는 데이터의 타입을 결정해주고 있습니다. 


 요청(Request)헤더의 Accept값은 @ResponseBody 어노테이션이 붙은 리턴데이터의 타입을, Content-type값은 @RequestBody로 받는 데이터의 타입을 결정합니다.


우선 예제로 XML데이터와 매핑이 될 Model클래스 두개를 생성했습니다. 

Publication 클래스와 Publications 라는 클래스 입니다. 이 두개의 클래스를 가지고 XML데이터를 생성합니다. 이름에서 알수있듯이 Publications 클래스는 Publication 타입 리스트를 가지고있는 클래스입니다.




 스프링에서 위 클래스에서 사용한 JAXB 어노테이션을 인식하고 메시지컨버터를 사용하여 XML 데이터로 리턴해 주기위해서는 스프링 설정에 다음과 같은 코드를 추가해야합니다.



 XML데이터에 바인딩될 클래스를 지정해 줍니다. 위의 클래스에서 어차피 Publications 클래스 안에 Publication 클래스가 존재하기 때문에 Publications 클래스만 등록해주어도 자동으로 인식이 됩니다. 


위의 세팅이 끝난 후 컨트롤러에서 리턴되는 타입을 Publications 타입으로 리턴을 하게 되면 XML데이터로 화면에 출력이 됩니다.


 



댓글