【问题标题】:How to return a file as response along with custom response in spring boot?如何在spring boot中将文件作为响应以及自定义响应返回?
【发布时间】:2026-02-08 17:45:01
【问题描述】:

我正在上传学生对象的文件并进行处理。

文件中的一组学生 JSON。 (StudentList.txt)

[
{
 "id":"001",
 "name":"Jhon"
},
{
 "id":"002",
 "name":"Tom"
}
]

上述请求的响应应该如下所示。

{
    "data" : {
              "success":"01",
              "failed":"01"
             },
   "message":"File upload has been done",
   "code":200,
   "path":"/student/file/upload"
}

以及带有失败记录信息的可下载文件。 (如果文件上传过程中第二条记录失败,响应文件中应该有失败的原因和失败的记录信息。)

【问题讨论】:

    标签: java spring-boot rest


    【解决方案1】:

    您的请求的内容类型应该是json格式application/json,而不是txt文件。

    为了实现你想要的,我认为你应该在使用 @Transactional 注释的服务中完成所有工作,并且每当发生异常时,全局异常处理程序将发送包含上传失败原因的响应

    【讨论】:

    • 假设文件上传过程没有错误,但插入数据库时​​某些记录失败。如何在同一响应中发送文件中特定记录的错误信息?