SPRING/스프링부트 개념과 활용

[스프링 부트 개념과 활용] ViewResolver

JUMP개발자 2020. 12. 29. 00:50
<dependency>
	<groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.9.6</version>
</dependency>

- ViewResolver 뷰 이름으로부터 사용할 뷰 오브젝트를 매핑하는 역할을 함.

 

ContentNegotiatingViewResolver

- viewResolver 중 하나로, 들어오는 HttpMessage의 Accept-header에 따라 응답이 달라진다.

즉, Client에서 요청한 Accept header를 통해 그 요청에 응답을 할 수 있는 view를 찾아내어 응답한다.

 

 

예시)

이전 게시물과 동일한 내용의 Test 메서드이지만 아래 빨간 부분만 바꾸었다.

(accept header를 XML로 주었음.)

- accept header - XML : Client는 XML형식으로 응답을 요청.

- content Type - JSON : JSON 형식으로 서버로 데이터를 보냄.

위 테스트 코드에서  ERROR가 발생한다면, XML 형식을 처리할 HttpMessageConverter가 없기 때문이다.

pom.xml에 아래의 의존성을 추가해주면 된다.

 

<dependency>
	<groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
    <version>2.9.6</version>
</dependency>