ViewResolver 중의 하나로, 들어오는 요청의 accept header(브라우저 또는 클라이언트가 어떠한 타입의 본문을 응답을 원한다고 서버에 알려주는 것)에 따라 응답이 달라진다.
어떠한 요청이 들어오면 그 요청의 응답을 만들 수 있는 모든 view를 찾아내고, 최종적으로 accept header의 view 타입과 비교하여 선택한다.
accpet header가 없는 요청인 경우 format이라는 매개변수를 사용한다.
(User와 UserController 코드는 이전 포스트와 동일)
@Test 파일을 만든다. accept header를 XML로 준다.(여기서는 응답은 json으로 보내고, 요청은 xml로 받길 바란다)
만약 error가 발생한다면, HttpMessageConverter가 없기 때문이다. pom.xml에 아래의 의존성을 추가해주면 된다.
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.6</version>
</dependency>
테스트를 돌리면 패스함을 볼 수 있다.