响应数据类型笔记

AI-摘要
LNotes-AI GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
响应数据类型笔记
Liuxz一、常用类型
| 类型 | 作用 | 典型场景示例 |
|---|---|---|
@ResponseBody + 对象 |
响应 JSON 等非页面数据 | 接口返回用户信息、列表数据 |
ResponseEntity<B> |
完全自定义响应头、响应体数据 | 文件下载(自定义 Content-Disposition 等头) |
String |
返回逻辑视图地址(用于页面渲染) | 跳转到 Thymeleaf 模板页面 |
Map/Model |
传递默认视图地址与数据(页面渲染用) | 向页面共享用户列表、用户名等数据 |
ModelAndView |
自定义模型和视图 | 同时指定页面模板和共享数据 |
二、不常用类型
| 类型 | 作用 | 适用场景 |
|---|---|---|
HttpEntity<B> |
自定义响应头、响应体数据 | 类似 ResponseEntity,但灵活性稍弱 |
HttpHeaders |
仅返回响应头,无内容 | 需单独设置响应头的场景 |
ErrorResponse/ProblemDetail |
响应错误头、错误体 | 标准化的 API 错误返回 |
View |
视图对象 | 自定义视图渲染逻辑 |
@ModelAttribute |
传递默认视图地址与数据 | 页面渲染时共享数据 |
void |
需自定义 response | 直接操作 HttpServletResponse 输出 |
ListenableFuture<V>/CompletableFuture<V> |
异步结果响应 | 异步任务的结果返回 |
ResponseBodyEmitter/SseEmitter |
异步响应与流式数据响应 | 服务端推送、长轮询场景 |
StreamingResponseBody |
流式数据响应 | 大文件分块传输 |
ReactiveAdapterRegistry |
Webflux 模式支持 | 响应式编程场景 |
DeferredResult/Callable |
异步结果响应 | 异步处理 HTTP 请求 |
| 其他返回类型 | 被当做 ModelAttribute |
自动加入模型数据 |
三、常用类型及示例
1. @ResponseBody + 对象
- 作用:响应 JSON 等非页面数据
- 示例:
1 |
|
2. ResponseEntity<B>
- 作用:完全自定义响应头、响应体数据
- 示例(文件下载):
1 |
|
3. String
- 作用:返回逻辑视图地址(用于页面渲染)
- 示例(跳转到 Thymeleaf 页面):
1 |
|
4. Map/Model
- 作用:传递默认视图地址与数据(页面渲染用)
- 示例(向页面共享用户数据):
1 |
|
5. ModelAndView
- 作用:自定义模型和视图
- 示例(同时指定页面和数据):
1 |
|
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果



