0

我有一个在 Spring 端处理的 Web 服务,如下所示:

    @POST
    @Path("/processRequest")
    @Consumes("multipart/mixed")
    @ResponseStatus(HttpStatus.OK)
    public String processRequest(@Context ServletContext servletContext, MultipartInput input) {

        return addAccout(servletContext, input);
    }

该请求将以多部分/混合请求的形式出现,如下所示:

--productBoundary
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<product>
     <name>ProductA</name>
</product>

--productBoundary
Content-Type: text/xml

ZGF0YRBAAABn5///////////////5///Z+fn///n////////5////////2f//2f//+f//+f////n/
///////52f//////2f//////2f/////5////////+f/////Z+f///////////////9n//9nZ/9n////5+f///9
<snip>
//+f//////2f/////////5//n//////////9n

--productBoundary--

该请求将以多部分/混合形式出现。我可以使用 processRequest 的方法参数中显示的 Resteasy 对象来提取多部分/混合消息的每个部分。我想做的是获取消息,因为它的标题和其他所有内容都未经修改。这可能吗?

我需要能够完全按原样存储请求。使用 MultipartInput 结构意味着我已经修改了请求。无论如何我可以在不修改它的情况下获得请求(及其所有标题)?

4

1 回答 1

2

这里的文档:

3.1.18 @RequestPart 注解控制器方法参数

这个新注释提供了对“multipart/form-data”请求部分内容的访问。请参阅第 16.10.5 节,“处理来自编程客户端的文件上传请求”和第 16.10 节,“Spring 的多部分(文件上传)支持”。

于 2012-05-04T13:38:36.627 回答