SpringBoot-Web开发之数据响应

返回前端JSON数据

  • 需要使用jackson.jar
  • controller方法加注解@ResponseBody
XML 复制代码
<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 复制代码
<!--将对象数据处理成xml-->
<dependency>
	<groupId>com.fasterxml.jackson.dataformat</groupId>
	<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
  1. 利用 MessageConverters将数据写为json
  • 内容协商(浏览器默认会以请求头的方式告诉服务器他能接受什么样的内容类型)
  1. SpringMVC会遍历所有容器底层的 HttpMessageConverter ,看谁能处理?
  1. 利用MappingJackson2HttpMessageConverter将对象转为xml/json再写到响应体
  • 返回数据转换成xml或json类型格式
  • 此处内容协商之后转换成xml格式数据
相关推荐
WeiXin_DZbishe2 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
架构技术专栏2 小时前
Agent 工具调用:从工具声明到执行反馈
前端·人工智能·后端
vx_bisheyuange2 小时前
基于SpringBoot的体育商品推荐系统
spring boot·毕业设计
别动我齐刘海3 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
码事漫谈3 小时前
你让AI干的活,它可能只干了十分之一——而你根本看不出来
后端
Wx-bishekaifayuan3 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
Wx-bishekaifayuan4 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
code2cat4 小时前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程
WeiXin_DZbishe4 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
泡茶喝茶写代码4 小时前
A股量化数据工程:从 REST 接口到策略信号(第 18 篇):放量缩量异动扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口