我正在使用 Apache HttpPost
和 MultipartEntity
在 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/