这是我调用rest服务的代码
String result = webClient.post()
.body(BodyInserters.fromMultipartData(bodyBuilder.build()))
.exchangeToMono(clientResponse -> clientResponse.bodyToMono(String.class))
.block();
这个很好用。我得到一个http状态200。
响应
表头内容类型:多部分/表单数据;边界=“n1onmvb:z)vetrs)kd9:h8hz9h+\u kywmv2mb)兆瓦
身体
--n1OnMVB:z)VeTRs)kd9:h8Hz9H+_kywMV2mb)MWu. Content-Disposition: form-data; name="lastname"
smith
--n1OnMVB:z)VeTRs)kd9:h8Hz9H+_kywMV2mb)MWu. Content-Disposition: form-data; name="data"; filename="data.cms" Content-Transfer-Encoding: binary
0� *�H�� ��0�
问题/问题:如何接收二进制数据。我需要这样的东西
byte[] result = webClient.post()....... -> clientResponse.bodyToMono(byte[])
或者更好
MyResultObject result = webClient.post().....-> clientResponse.bodyToMono(MyResultObject.class)
其中myresultobject具有相应的成员。
我试了很多。我找了很多。但不幸的是,我什么也没找到。
1条答案
按热度按时间bfhwhh0e1#
最后我找到了解决办法。我先用restemplate试过。同样的问题,我没有找到访问二进制数据的解决方案。
我找到了一个不劳而获的解决办法。我直接使用httpclient。