SpringBoot-Web开发之数据响应
返回前端JSON数据
- 需要使用jackson.jar
- controller方法加注解@ResponseBody
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency><!--web场景自动引入了json依赖-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-json</artifactId><version>2.3.4.RELEASE</version><scope>compile</scope>
</dependency>返回值解析器
- 返回值解析器列表

- 找不到支持的返回值解析器报错

- 找到匹配的解析器

JSON数据响应步骤
1. RequestResponseBodyMethodProcessor解析器处理返回值标了注解@ResponseBody
- 浏览器地址栏发请求,引入下列依赖之后,浏览器能够处理返回xml数据,优先返回xml
- xml格式 --- [application/xml] --- jacksonXmlConverter
- 未引入依赖,处理不了xml,浏览器地址栏发送请求依旧返回json
- json格式 --- [application/json] --- jacksonJsonConverter
- 此处受内容协商机制影响
<!--将对象数据处理成xml-->
<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId>
</dependency>2. 利用 MessageConverters将数据写为json
- 内容协商(浏览器默认会以请求头的方式告诉服务器他能接受什么样的内容类型)




3. SpringMVC会遍历所有容器底层的 HttpMessageConverter ,看谁能处理?

4. 利用MappingJackson2HttpMessageConverter将对象转为xml/json再写到响应体


- 返回数据转换成xml或json类型格式

- 此处内容协商之后转换成xml格式数据

