概述:ResponseEntity
是Spring框架中的一个类,用于封装HTTP响应的相关信息,包括状态码、响应头和响应体。它通常用于控制器方法中返回一个包含特定数据的HTTP响应。
ResponseEntity
ResponseEntity
类的主要特点如下:
-
可以自定义HTTP状态码:通过设置
HttpStatus
枚举值,可以指定不同的HTTP状态码,如200(OK)、404(Not Found)等。 -
可以设置响应头信息:可以通过
headers()
方法设置响应头信息,例如设置内容类型(Content-Type)或缓存控制(Cache-Control)等。 -
可以携带响应体数据:可以通过构造函数或
body()
方法设置响应体数据,支持各种数据类型,如字符串、对象、集合等。
比如说,想把图片从minio里面读取并反馈给前端
IOUtils用的是common那个包
@GetMapping("/user01/singer/img/{fileName:.+}")
public ResponseEntity 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就是那个码.