标题(" Content-Type":" image / jpeg")用于Swagger UI。

时间:2017-06-02 14:27:43

标签: javascript rest swagger swagger-ui

我有一个场景需要通过POST请求上传图片。使用Postman客户端发送请求时没有问题。我需要使用Swagger UI来测试API调用,我无法发送图像。

我尝试更改swagger.json文件中的参数值以适应这种情况,但我的所有尝试都是徒劳的。

目前,我正在尝试更改company|id|startday|endday|count a |1 | b |2 | c |3 | 文件。看完文件后,我发现了这个 -

swagger-ui.js

除了上面给出的6种请求类型之外,没有处理request.types = { html: 'text/html', json: 'application/json', xml: 'application/xml', urlencoded: 'application/x-www-form-urlencoded', 'form': 'application/x-www-form-urlencoded', 'form-data': 'application/x-www-form-urlencoded' }; 或任何其他文件类型的请求类型。

我还找到了处理image/jpeg的代码部分。

multipart/form-data

我还尝试添加var isMultiPart = false; if(headers['Content-Type'] && headers['ContentType'].indexOf('multipart/form-data') >= 0) { isMultiPart = true; } if (hasFormParams && !isMultiPart) { var encoded = ''; for (key in formParams) { value = formParams[key]; if (typeof value !== 'undefined') { if (encoded !== '') { encoded += '&'; } encoded += encodeURIComponent(key) + '=' + encodeURIComponent(value); } } body = encoded; } else if (isMultiPart) { if (opts.useJQuery) { var bodyParam = new FormData(); bodyParam.type = 'formData'; for (key in formParams) { value = args[key]; if (typeof value !== 'undefined') { // required for jquery file upload if (value.type === 'file' && value.value) { delete headers['Content-Type']; bodyParam.append(key, value.value); } else { bodyParam.append(key, value); } } } body = bodyParam; } } 值来处理图片。我无法继续,因为我之前没有JavaScript经验。有没有办法可以类似地添加一个可以处理图像上传的条件?

1 个答案:

答案 0 :(得分:1)

当前OpenAPI specification Swagger遵循禁止除consumes和/或application/x-www-form-urlencoded之外的任何HTTP有效负载描述(multipart/form-data参数)。

其中一个原因是您不应该依赖客户为上传的文件提供correct MIME type