解析多部分请求apache camel rest DSL

时间:2017-09-20 12:11:06

标签: java apache java-ee apache-camel

如何使用camel rest DSL解析多部分请求?

我正在使用带有servlet组件的camel java rest DSL。骆驼版是2.19.3。

在camel版本2.15.2中,多部分请求解析正在使用以下内容:

web.xml

<servlet>
      <servlet-name>CamelServlet</servlet-name>
      <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
   <!-- Camel servlet mapping -->
   <servlet-mapping>
      <servlet-name>CamelServlet</servlet-name>
      <url-pattern>/api/rest/*</url-pattern>
   </servlet-mapping>
   <filter>
      <filter-name>MultipartFilter</filter-name>
      <filter-class>org.eclipse.jetty.servlets.MultiPartFilter</filter-class>
   </filter>
   <filter-mapping>
      <filter-name>MultipartFilter</filter-name>
      <servlet-name>CamelServlet</servlet-name>
   </filter-mapping>

休息DSL:

rest("/file")
    .bindingMode(RestBindingMode.off)
    .consumes("multipart/form-data")
    .produces("application/json")
    .post("/upload")
        .route().process(caCertificateUploadProcessor);

处理器:

Message in = exchange.getIn();
System.out.println("Size:"+in.getAttachments().size());

对于骆驼版本2.15.2,我根据我的多部分请求获取附件地图大小。但是当我更新骆驼版本2.19.3时,这总是给我附件大小为零。看起来在一些骆驼更新中已经改变了对多部分请求的处理。我需要知道如何在最新的驼峰版本中获取附件。

0 个答案:

没有答案