我需要创建一个POST,我可以在同一个请求中上传多个文件,但我不知道如何用葡萄写这个 . 现在只上传一个文件,这就是我正在做的事情,并且工作正常:
desc 'Creates a new attachment.'
params do
requires :file, :type => Rack::Multipart::UploadedFile, :desc => "Attachment File."
end
post do
attachment = Attachment.new
attachment.file = ActionDispatch::Http::UploadedFile.new(params[:file])
attachment.save!
attachment
end
Swagger告诉我这个:
我在考虑做这样的事情:
desc 'Creates a new attachment.'
params do
requires :file, :type => Array[Rack::Multipart::UploadedFile], :desc => "Attachment File."
end
但它看起来不太好看:
我也尝试过:
params do
optional :attachments, type: Array do
requires :file, :type => Rack::Multipart::UploadedFile, :desc => "Attachment File."
end
end
也不是一个好结果 .
处理这个问题的正确方法是什么?
1 回答
经过一些测试后我找到了答案,我会把它留在这里:
你不能用swagger测试这个(或者至少我没有找到一种方法),但你可以使用这个卷曲: