0%

背景

HTTP头部默认只支持ISO-8859-1字符集,直接使用中文会导致乱码或解析错误。

文件下载响应体方案

1
2
3
4
5
6
7
8
9
String fileName =  fileNameStrMayBeZhCn + ".xlsx";
fileName = URLEncoder.encode(fileName, "UTF-8").replace("+", "%20");;
byte[] bytes = myservice.exportExcelFile();
return ResponseEntity.status(HttpStatus.OK)
        .contentType(MediaType.APPLICATION_OCTET_STREAM)
        .header(HttpHeaders.CONTENT_DISPOSITION,
                "attachment; filename=\"" + fileName + "\";filename*=utf-8''"+fileName)
        .header(HttpHeaders.CONTENT_LENGTH, String.valueOf(bytes.length))
        .body(bytes);

描述

自动配置

概述

@EnableTransactionManagement 开启自动事务

org.springframework.transaction.annotation.EnableTransactionManagement

无论是默认自动配置事务,还是手动添加注解开启事务,都会使用 @EnableTransactionManagement注解。

默认自动配置

配置文件 org.springframework.boot.autoconfigure.AutoConfiguration.importsspring-autoconfigure-metadata.properties

Chrome 开发者控制台的 Console 页使用 fetch 命令调试接口技巧

在 Chrome 开发者控制台的 Network 页可以获取请求的 fetch 格式。

“Copy”–>“Copy as fetch”

注意事项

  1. Chrome 开发者控制台的 Console 不展示 log 级别的日志,原因未知。因此使用 error 级别的日志展示信息。
  2. 下载文件时,建议使用准确的文件扩展名。例如 Excel 格式的文件的文件名称应当使用文件扩展名 .xlsx 或 .xls,Tar.gz 格式的文件的文件名称应当使用文件扩展名 .tar.gz。
  3. 上传文件时,应当注意,需要删除Content-Type属性,完全由 "body": formData自动指定。

普通GET、PUT,文件上传、文件下载接口都可以使用。

UML——Unified modeling language (统一建模语言)

是一种用于软件系统分析和设计的语言工具。

类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。