java - 如何创建多部分响应

标签 java spring httpclient multipartform-data jersey-2.0

我正在开发 Restful Web 服务,我想在其中生成以下格式的多部分响应:

HTTP/1.1 200 OK  
Server:  
MIME version:  
Content-type:Multipart/form-data  
Content-length:500; boundary=  
--Boundary--

content-type:  
content-Disposition: ;name="abc"  

[content]  
--Boundary--  
content-Disposition: ;name="cba"  

[content]  
--Boundary--  

此响应将包含查询结果,不会包含任何 url。

我用过 MimeMultipart:

MimeMultipart multipart = new MimeMultipart();
// ...add files to multipart
MimeBodyPart firstPart = new MimeBodyPart();      
imagePart.setContent(Object, MediaType.APPLICATION_OCTET_STREAM);

    MimeBodyPart secondnPart = new MimeBodyPart();
    jsonPart.setContent(Object, MediaType.APPLICATION_JSON);

    multiPart.addBodyPart(firstPart);
    multiPart.addBodyPart(secondPart);
return Response.ok(multipart, "multipart/form-data").build();

但这并不是以上述格式创建的。我正在使用 Spring 框架来实现。没有得到标题。

最佳答案

这就是我在 Jersey 2 中对多部分/表单数据响应所做的:

import org.glassfish.jersey.media.multipart.FormDataMultiPart;

FormDataMultiPart fdm=new FormDataMultiPart();
fdm.field("abc", Object o1, MediaType.APPLICATION_yourmediatype).field("cba", 
Object o2, MediaType.APPLICATION_yourmediatype);
Response response=Response.ok(fdm, MediaType.MULTIPART_FORM_DATA).build();

关于java - 如何创建多部分响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45066064/

相关文章:

java - 不必要的@SuppressWarnings ("unused")

java - 使用 MouseWheelListener 水平滚动

java - 使用 Spring HATEOAS 构建模板化搜索资源 uri

java - 在 Spring RESTful 服务中通过相同的 URL 和相同的方法使用不同的输入 JSON 格式

android - 从 Android 应用程序读取 HTML 源代码

java - 使用网络客户端发布数据

java - JDBC 连接中的 URL 为空

java - 为什么这个方程不应该返回零?

spring - 我应该使用 Spring Session Scoped beans 还是诸如 ehcache 之类的缓存?

c# - 使用 Mock HttpClient 进行 Mock Refit SDK 注入(inject)以进行集成测试