Тип контента переопределяется с помощью Unirest - PullRequest
0 голосов
/ 25 августа 2018

Я делаю простой POST-запрос к конечной точке, который принимает ТОЛЬКО "multipart / form-data". Я понял, что Unirest анализирует все мои типы полей и, соответственно, сам устанавливает тип контента.

MultipartBody request = Unirest.post("http://somendpoint")
                    .field("attachment", new File("D:\\home\\Documents\\Bird.jpg"))
                    .field("name", "Bob","text/plain");
System.out.println(request.getEntity().getContentType());

Итак, здесь вывод

Content-Type: multipart/form-data; boundary=hfADYluLg3pgP7ejEXn-3zj-yiqgSj

Что очень правильно. Теперь проблема в том, что поле «вложение» является необязательным для моего запроса. Как только я удаляю вложение, я получаю 400, потому что тип контента, принимаемый конечной точкой, не соответствует моему запросу. Код:

MultipartBody request = Unirest.post("http://somendpoint")
                    .header("Content-type", "multipart/form-data")
                    .field("name", "Bob","text/plain");
System.out.println(request.getEntity().getContentType());

Выход:

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

Есть ли способ, с помощью которого я могу заставить Unirest установить мой предполагаемый тип контента?

...