- 当引入web依赖(场景)的时候,web场景会自动引入json场景;这时在控制层处理请求时,标注@ResponseBody注解,则会响应给前端json
| <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> |
| ModelAndView |
| Model |
| View |
| ResponseEntity |
| ResponseBodyEmitter |
| StreamingResponseBody |
| HttpEntity |
| HttpHeaders |
| Callable |
| DeferredResult |
| ListenableFuture |
| CompletionStage |
| WebAsyncTask |
| 有 @ModelAttribute 且为对象类型的 |
| @ResponseBody 注解 |
-
返回值解析器

-
返回值解析器原理
| ● 1、返回值处理器判断是否支持这种类型返回值 supportsReturnType |
| ● 2、返回值处理器调用 handleReturnValue 进行处理 |
| ● 3、RequestResponseBodyMethodProcessor 可以处理返回值标了@ResponseBody 注解的。 |
| ○ 1. 利用 MessageConverters 进行处理 将数据写为json |
| ■ 1、内容协商(浏览器默认会以请求头的方式告诉服务器他能接受什么样的内容类型) |
| ■ 2、服务器最终根据自己自身的能力,决定服务器能生产出什么样内容类型的数据, |
| ■ 3、SpringMVC会挨个遍历所有容器底层的 HttpMessageConverter ,看谁能处理? |
| ● 1、得到MappingJackson2HttpMessageConverter可以将对象写为json |
| ● 2、利用MappingJackson2HttpMessageConverter将对象转为json再写出去。 |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?