我想创建一个包含两个输入字段的http表单:file,fname,其中文件的类型为file,fname是text(上传文件的名称。)表单将结果发送到节点应用程序。在招摇是这样的:
swagger: '2.0'
info:
title: Test
description: Tdesc
version: "1.0.0"
host: localhost:8080
schemes:
- http
basePath: /v1
produces:
- application/json
paths:
/fileup:
x-swagger-router-controller: Default
put:
operationId: fileupPut
consumes:
- multipart/form-data
parameters:
- name: fname
in: formData
required: false
type: string
- name: file
in: formData
required: false
type: file
responses:
200:
description: D
schema:
type: string
我将其复制到http://editor.swagger.io/#/,然后将其导出为nodejs程序并运行程序。访问http://localhost:8080/docs以使用swagger生成的用户界面来放置"放置"文件,fname。我在生成的Default.js控制器中放了一个断点,注意到文件和fname未定义。
module.exports.fileupPut = function fileupPut (req, res, next) {
var file = req.swagger.params['file'].value;
var fname = req.swagger.params['fname'].value;
...
我知道文件处理代码(如busboy)可用于流式传输到文件。我不明白如何使用swagger解析来获取file和fname的字符串。