如何使用swagger来描述带有文件和文件名的表单

时间:2015-05-22 00:21:21

标签: swagger

我想创建一个包含两个输入字段的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的字符串。

0 个答案:

没有答案