内容类型被Unirest覆盖

时间:2018-08-25 05:22:59

标签: java http http-headers unirest

我正在向端点发出一个简单的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设置所需的内容类型?

0 个答案:

没有答案