使用 RAML 在 HTTP 请求中发送多个文件
Posted
技术标签:
【中文标题】使用 RAML 在 HTTP 请求中发送多个文件【英文标题】:Send multiple files in HTTP request using RAML 【发布时间】:2018-03-27 19:01:46 【问题描述】:我正在使用 RAML 编写 HTTP POST 请求,并且需要编写它以便能够在请求中发送多个文件。每次文件的数量可能不同,因此需要它是动态的。我该怎么做?
这最终将用于 Anypoint Studio 6.2 和 Mule 3.8.3
谢谢
【问题讨论】:
【参考方案1】:如果您使用的是 RAML 版本 0.8,请尝试以下构造。它具有指定多次上传可能性的 repeat 属性
#%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 版 由于 repeat 在 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 一起用作数组
【讨论】:
以上是关于使用 RAML 在 HTTP 请求中发送多个文件的主要内容,如果未能解决你的问题,请参考以下文章