java - 如何在 Java HTTP POST 请求的数据部分添加数组?

标签 java apache http-post multipart

我正在使用 Apache HttpPostMultipartEntity 在 Java 中编写 HTTP POST 请求。在请求的数据部分,我可以使用 addPart(name, StringBody) 添加简单的部分。但是,我需要添加作为值数组的正文部分。我该怎么做呢?来自 curl 请求的示例是:

curl -k -H "Content-Type: application/json" --data '{ "name":"someName", 
"email":"noone@nowhere.com", "properties" : { "prop1" : "123", "prop2" : "abc" }}' 
-X POST 'https://some.place.com/api/test'

在 Java 中,我可以像这样创建请求,但我需要知道如何创建“属性”数组值,因为 StringBody 是针对单个值的:

HttpPost httpPost = new HttpPost(newAdultUrl);
MultipartEntity entity = new MultipartEntity();
entity.addPart("name", new StringBody("someName"));
entity.addPart("email", new StringBody("noone@nowhere.com"));
entity.addPart("properties", new ??? );
httpPost.setEntity(entity);

感谢您的帮助!

最佳答案

我做了与 Roberg 类似的事情,但对我来说,当我将 [] 添加到键的末尾时,我的工作就完成了,例如:

 entity.addPart("properties[]", new StringBody("value 1"));
 entity.addPart("properties[]", new StringBody("value 2"));
 entity.addPart("properties[]", new StringBody("value 3"));

关于java - 如何在 Java HTTP POST 请求的数据部分添加数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8915080/

相关文章:

java - 使用高级搜索运算符使用 Restful API 向搜索引擎发送查询

c# - 在 C# 后端代码中的 http get 请求中包含原始文本

java - 使用jsp从远程系统读取文件

java - 外键映射到 Embeddable 类

java - Couchbase RX 客户端 - 合并多个可观察量与平面图

java - 如何用Java保存和加载图像到mysql数据库?

php - 使用 PHP 以正确的方式路由页面请求

django - Apache mod_wsgi django调用keras模型时如何释放占用的GPU内存?

apache - 如何以非 root 用户身份安装 Apache httpd?

http - Curl GET/POST 原始数据包括 header ?