我有一个场景需要通过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经验。有没有办法可以类似地添加一个可以处理图像上传的条件?
答案 0 :(得分:1)
当前OpenAPI specification Swagger遵循禁止除consumes
和/或application/x-www-form-urlencoded
之外的任何HTTP有效负载描述(multipart/form-data
参数)。
其中一个原因是您不应该依赖客户为上传的文件提供correct MIME type。