使用RAML在HTTP请求中发送多个文件

时间:2017-10-16 09:41:13

标签: mule httprequest anypoint-studio raml

我正在使用RAML编写HTTP POST请求,需要编写它以便能够在请求中发送多个文件。每次文件的数量可能不同,因此需要它是动态的。我该怎么做?

这最终将与Anypoint Studio 6.2和Mule 3.8.3一起使用

由于

1 个答案:

答案 0 :(得分:2)

如果您使用 RAML版本0.8 ,请尝试使用以下构造。它具有重复属性,指定多个上传的可能性

#%RAML 0.8
title: FileUploadExample
baseUri: localhost
/uploadMultipleFile:
  description: Uploads Multiple file 
  post:
    body:
        multipart/form-data:
         formParameters:
             file:
               description: The file to be uploaded. Supported Formats are gif, jpeg, jpg, png etc.
               required: true
               type: file
               repeat: true

如果您使用 RAML版本1.0 由于重复位于 RAML 0.8规范内,因此在RAML 1.0中将其删除,以支持RAML数据类型抽象。 因此对于RAML 1.0,您可以使用类似于以下构造的东西。

#%RAML 1.0
title: FileUploadExample
baseUri: localhost
types:
  MultiUploadFileType:
       properties:
          file:
            description: The file to be uploaded. Supported Formats are gif, jpeg, jpg, png etc.
            required: true
            type: file

/uploadMultipleFile:
  description: Uploads Multiple file
  post:
    body:
      multipart/form-data:
        type: MultiUploadFileType[]
        minItems: 1

在这里,我们使用类型抽象来定义类型,然后将其与multipart / form-data一起用作数组