Я хочу отправить multipart / mixed запрос, используя Apache HttpClient и тело запроса, как показано ниже, но мой код не добавляет Content-Type: multipart / related ; border = penFL6sBQHJJUN3HA4ftqC часть тела запроса.
--f0Ve5iPP2ySppIcDSR6Bak
**Content-Type: multipart/related;boundary=penFL6sBQHJJUN3HA4ftqC**
--penFL6sBQHJJUN3HA4ftqC
Content-Type: application/vnd.siemens.mindsphere.meta+json
{
"type": "item",
"version": "1.0",
"payload": {
"type": "standardTimeSeries",
"version": "1.0",
"details": {
"configurationId": "1551207800470"
}
}
}
--penFL6sBQHJJUN3HA4ftqC
Content-Type: application/json
[
{
"timestamp": "2019-03-01T10:00:03.780Z",
"values": [
{
"dataPointId": "1551207763818",
"value": "10",
"qualityCode": "0"
}
]
}
]
--penFL6sBQHJJUN3HA4ftqC--
--f0Ve5iPP2ySppIcDSR6Bak--
/r/n
Итак, мой код выглядит следующим образом,
HttpEntity entity = MultipartEntityBuilder.create()
.setMimeSubtype("mixed")
.addPart(FormBodyPartBuilder.create()
.setName("configuration")
.setBody(new StringBody(part1, ContentType.create("application/vnd.siemens.mindsphere.meta+json")))
.build())
.addPart(FormBodyPartBuilder.create()
.setName("datapoints")
.setBody(new StringBody(part2, ContentType.APPLICATION_JSON))
.build())
.build();
HttpPost post = new HttpPost("https://endpointurl");
post.addHeader("Authorization","Bearer AuthKey goes here");
post.setEntity(entity);
HttpResponse response = httpClient.execute(post);
Но это не устанавливает Content-Type: multipart / related в теле запроса, как я показал выше. (Пожалуйста, смотрите самый верхний Content-Type тела запроса)
если я установлю это так,
HttpEntity entity2 = MultipartEntityBuilder.create()
.setMimeSubtype("mixed")
.setContentType(ContentType.create("multipart/related"))
...
Удаляет multipart / mixed в заголовке запроса и помещает вместо него multipart / related. Мое требование - отправить многочастный / смешанный запрос с многочастным / связанным контентом в теле, как я показал выше. Как это сделать в Apache HttpClient?