如何在swagger中发布文件?

我正在使用Swagger来logging我的REST服务。 我的1个服务需要上传CSV文件。 在为JSON文件中的参数部分指定以下属性之后,我可以在我的swagger页面上获得文件上载选项。

{ "name": "File", "description": "The file in zip format.", "paramType": "body", "required": true, "allowMultiple": false, "dataType": "file" } 

但是,当我select一个文件,然后单击我得到错误NS_ERROR_XPC_BAD_OP_ON_WN_PROTO:jquery-1.8.0.min.js(第2行)的 WrappedNative原型对象上的非法操作 ,它不断处理,我没有得到任何回应。

请注意,对于Swagger 2.0(OpenAPI规范2.0),Parameter对象允许将type设置为file

  consumes: - multipart/form-data # and/or application/x-www-form-urlencoded parameters: - name: file in: formData description: The uploaded file data required: true type: file 

由OpenAPI规范2.0中的type字段名称描述:

…“整数”,“布尔”,“数组”或“文件”。 如果type是“file” ,则消费必须是“multipart / form-data”,“application / x-www-form-urlencoded”或者两者都有,参数必须在“formData”中。

终于我find了答案,实际上以前没有file upload的支持,现在他们更新了swagger-ui.js文件。 你需要用新的replace你的旧的,还必须在参数下面定义这些属性的特定参数:

  "paramType": "body", "dataType": "file", 

我的工作似乎与

  "paramType": "formData", "dataType": "file",