在同一个 Http 响应中返回 Jersey 中的字节 [] 和 Java 对象

问题描述

我必须在来自 REST 服务的 http 响应中将 byte[] 作为文件数据和 JSON 对象返回。

此外,我还必须在前端的 Angular 6 中处理此响应

REST 服务使用 Jersey 2.0

我已经实现了 Jersey Rest Service,它返回 Multipart Response

但我无法在 Angular 6 中处理多部分响应,因为 HttpClient 在 Angular 中无法按照 Handling a multipart Response body in Angular 处理多部分响应

现在,我在 Spring 中使用 org.springframework.util.MultiValueMap 做了完全相同的事情,如下所示 -

MultiValueMap<String,Object> responseData = new LinkedMultiValueMap<String,Object>();  
SomeDto someDto = new SomeDto();
responseData.add("results",someDto); // this is JSON 
responseData.add("fileDetails",fileData); // where fileData has one of the field 
as byte[] 

所以我可以在同一个 Http 响应中返回 byte[] 和 Java 对象。

最终在客户端收到的响应是 JSON

我们如何在 Jersey 2 中实现相同的目标?

在 Jersey 2 中是否有任何 MultiValueMap 对应物可用于在 Jersey 2 中发送 byte[] 和 Java 对象?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)