如何使用Spring RestTemplate发送MultiPart HTTP请求

时间:2014-05-12 22:02:09

标签: spring http rest spring-mvc post

我是Spring框架的新手,我正在学习。

我的基于Spring MVC的Web应用程序需要通过RESTful接口调用供应商服务。

我有针对非multipart的POST / GET的当前实现。 但是我需要POST由JSON和Bytes组成的多部分表单数据

我正在尝试在网上看到一些简单的实现,但无法获得一个。

我需要了解一些可以使用RestTemplate实现此方法的方法。

感谢阅读。

1 个答案:

答案 0 :(得分:0)

如果我们想要在post请求中发送多部分表单数据,如果你还想要一些json格式的信息,那么你可以根据这个创建你的REST调用。 @Consumes会说这个调用只接受MULTIPART_FORM_DATA,@ Transaction用于启动新事务。

这里我接受三个路径参数

1)字符串jsonObj,这是一个字符串或者你可以说json,在这个JSON中你可以向UI询问所需的信息,比如一些标签,标签等等。

2)FormDataContentDisposition fileDetail,这将包含文件的非常基本的细节,如fileName,contentType等

3)InputStream uploadedInputStream,它将包含一些二进制数据,如图像,视频或字节格式的任何类型的文件。

*示例*

@POST

@Path(" / XYZ&#34)

@Consumes(MediaType.MULTIPART_FORM_DATA)

@Transactional(readOnly = false,propagation = Propagation.REQUIRED)

public VObject postMultiPartFormData(

       @FormDataParam("jsonObj") String jsonObj,

       @FormDataParam("mmFile") FormDataContentDisposition fileDetail,

       @FormDataParam("mmFile") InputStream uploadedInputStream) {

return new VObject();

}

我希望这会对你有所帮助。