我有3个链接的组件(为简单起见,请说A,B,C)。
呼叫流程:客户端-> A-> B-> C
A:API在一次调用中公开了多部分(应用程序/ json中的消息)和二进制文件(文件下载)...
B:API公开单个端点以下载文件。返回InputStreamResource
C:Amazon S3组件在下载时返回S3ObjectInputStream。
这不是将文件内容加载到内存中的选项。因此,我们无法在代码中执行类似getBytes()的操作。流必须通过所有组件。
如果我仅返回二进制文件(通过将来自响应组件B的复制inputStream()复制到来自A的响应的outputStream,它会很好地工作),则A会出现问题。
但是A也必须取回一个json消息(这就是为什么要分多个部分)。.任何想法我怎么能在一个响应中返回流和json消息?