SpringBoot的 ResponseEntity类讲解(具体讲解返回给前端的一些事情)

概述:ResponseEntity是Spring框架中的一个类,用于封装HTTP响应的相关信息,包括状态码、响应头和响应体。它通常用于控制器方法中返回一个包含特定数据的HTTP响应。

ResponseEntity

ResponseEntity类的主要特点如下:

  1. 可以自定义HTTP状态码:通过设置HttpStatus枚举值,可以指定不同的HTTP状态码,如200(OK)、404(Not Found)等。

  2. 可以设置响应头信息:可以通过headers()方法设置响应头信息,例如设置内容类型(Content-Type)或缓存控制(Cache-Control)等。

  3. 可以携带响应体数据:可以通过构造函数或body()方法设置响应体数据,支持各种数据类型,如字符串、对象、集合等。

比如说,想把图片从minio里面读取并反馈给前端

IOUtils用的是common那个包

复制代码
 @GetMapping("/user01/singer/img/{fileName:.+}")
    public ResponseEntity<byte[]> getImage(@PathVariable String fileName) throws Exception {
        InputStream stream = minioClient.getObject(
                GetObjectArgs.builder()
                        .bucket(bucketName)
                        .object("singer/img/"+fileName)
                        .build()
        );

        byte[] bytes = IOUtils.toByteArray(stream);

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.IMAGE_JPEG); // 设置响应内容类型为图片类型,根据实际情况修改

        return new ResponseEntity<>(bytes, headers, HttpStatus.OK);
    }

当然,人们大多可能会封装一个类,以json的形式返回给前端

这个形式一般包含:

复制代码
private int code;
private String message;
private T  data

data一般是json信息,message一般就是成功,失败之类的,code就是那个码.

相关推荐
迅猛龙办公室7 分钟前
python实现简单进度条
java·前端·python
我的div丢了肿么办9 分钟前
进程和线程以及go语言中的协程
后端·go
斯内普吖12 分钟前
(开源)宠物饲养系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源·宠物
墨家句子12 分钟前
4G 显存老显卡怎么跑模型:llama.cpp 加 GGUF 配置
linux·后端
HLAIA光子13 分钟前
RAG Chunks 切分优化后成本骤降 86%
后端·性能优化·架构
知守观16 分钟前
Spring Boot 2.1 → 3.5 迁移推演:这个 2018 年的项目会炸在哪
java·spring boot
Rosanci18 分钟前
Codex 下载与本地部署实战:从安装到运行全流程指南
开发语言·前端·算法·chatgpt·codex
传奇开心果编程18 分钟前
【Compose Multiplatform 跨端开发学与练】第8课 资源管理与主题
android·windows·学习·ios·kotlin·web·composer
Flynt19 分钟前
800KB 的 JSON 吃掉 8.5 秒 CPU:jackson 这波修复里,最容易被漏掉的洞藏在字符串里
java·安全
后端LV20 分钟前
Caffeine 快到 1450 万 ops/s,为什么我还是不敢说数据一致
java·后端