localhost:8080/users URL에 대해, 소비자들은 JSON 형식의 응답을 원할수도, 혹은 xml 형식의 응답을 원할수도 있다. 또한, 소비자는 자국의 언어에 맞는 response를 원할 수도 있다.
그렇다면 소비자는 어떻게 REST API 제공자에게 그들이 원하는 방식을 알릴 수 있을까? -> Content Negotiation
API 소비자들은 Accept header
를 다음과 같은 상황에서 사용할 수 있다.
혹은, API 소비자들은 Accept-Language header
를 다음과 같은 상황에서 사용할 수 있다.
여기에서는 Accept header에 대해 다뤄보자!
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
talend api test에서,
따라서, Swagger와 마찬가지로, data format 관련 의존성만 추가하면, 사용자가 application/xml 값을 가진 Accept 헤더를 추가할 때마다, XML respone를 받을 수 있음을 알 수 있었다!
참고 및 출처
이 시리즈는 Udemy 강의의 내용을 정리한 것입니다.
https://www.udemy.com/course/spring-boot-and-spring-framework-korean/