我在项目中使用Spring Integration。我有类型POST的RESTful webservice,它接受multipart / form-data类型。我知道int-http:outbound-gateway
可以用来执行web服务。
但我不知道将文件类型(multipart / form-data)传递给Message并在int-http:outbound-gateway
中使用它们。
要想一想,以下是POSTMAN客户端的屏幕打印,其中传递了multipart / form-data类型参数。
我希望通过将参数合并到消息中,以相同的方式将参数传递给int-http:outbound-gateway
。有关如何实现所需功能的任何想法?如果您需要任何其他信息,请与我们联系。
答案 0 :(得分:1)
HttpRequestExecutingMessageHandler
有以下代码:
else if (content instanceof Map) {
// We need to check separately for MULTIPART as well as URLENCODED simply because
// MultiValueMap<Object, Object> is actually valid content for serialization
if (this.isFormData((Map<Object, ?>) content)) {
if (this.isMultipart((Map<String, ?>) content)) {
contentType = MediaType.MULTIPART_FORM_DATA;
}
else {
contentType = MediaType.APPLICATION_FORM_URLENCODED;
}
}
}
因此,您需要的只是Map<String, ?>
,它完全反映了HTTP表单。
Multipart Http Sample也可以为您提供帮助。