1 什么是内容协商
简单说就是服务提供方根据客户端所支持的格式来返回对应的报文,在 Spring 中,REST API 基本上都是以 json 格式进行返回,而如果需要一个接口即支持 json,又支持其他格式,开发和维护多套代码显然是不合理的,而 Spring 又恰好提供了该功能,那便是ContentNegotiation 在 Spring 中,决定一个数据是以 jso还是xml 分别如下:
- favorPathExtension 后缀模式,例如:xxx.json,xxx.xml
- favorParameter format模式,例如:xxx?format=json,xxx?format=xml,
- 通过请求的 Accept 来决定返回的值
2 代码实现
2.1 引入依赖
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml<