Closed xxbld closed 6 months ago
1、走 fetch 一般来说都要定义为application/json的,其他情况通常需要自定义调用,不然生成器要处理的情况有点多。当然可以做个自适应的修改。 2、这个情况,我还没遇到过,你有定义好的 spec.json的例子给我参考吗 3、这个没看太懂。如果缺少类型的话,可以用自定义拓展文件来补充。类型的话,定义多少都没影响的。
"/admin/api/v1/oss/files": {
"post": {
"tags": [
"admin-oss-upload-download-controller"
],
"summary": "上传文件",
"operationId": "uploadUsingPOST",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"required": [
"file"
],
"type": "object",
"properties": {
"attr": {
"description": "attr",
"$ref": "#/components/schemas/UploadFileAttributeDTO"
},
"file": {
"type": "string",
"description": "file",
"format": "binary"
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ApiResult«OssFileUploadResultVO»"
}
}
}
},
"201": {
"description": "Created"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not Found"
}
},
"security": [
{
"Authorization": [
"global"
]
}
],
"extensions": {
"x-order": "2147483647"
}
}
},
我用你这个内容去升成,看着挺正常的,在我补充完你这个 type 之后。
这个getRequestParamters
报错,是因为你确实少了类型,在 attr 这个参数那里。
export class AdminOssUploadDownloadControllerService {
/**
* 上传文件
*/
static files(
params: {
/** */
attr: [];
/** */
file: any;
} = {} as any,
options: IRequestOptions = {}
): Promise<any> {
return new Promise((resolve, reject) => {
let url = basePath + '/admin/api/v1/oss/files';
const configs: IRequestConfig = getConfigs('post', 'multipart/form-data', url, options);
let data = null;
data = new FormData();
if (params['attr']) {
if (Object.prototype.toString.call(params['attr']) === '[object Array]') {
for (const item of params['attr']) {
data.append('attr', item as any);
}
} else {
data.append('attr', params['attr'] as any);
}
}
if (params['file']) {
if (Object.prototype.toString.call(params['file']) === '[object Array]') {
for (const item of params['file']) {
data.append('file', item as any);
}
} else {
data.append('file', params['file'] as any);
}
}
configs.data = data;
axios(configs, resolve, reject);
});
}
}
哦,那应该是后端没搞好类型。
"$ref": "#/components/schemas/ApiResult«OssFileUploadResultVO»"
这种泛型在后端是怎么配置出来的,有的项目返回的又是这样的
"$ref": "#/components/schemas/ResponseResultListSysMenu" 本来应该是 ResponseResult<List
泛型这个,不同的语言都有不同,具体要后台的自己查过才知道。我自己只对 JS 和 C#的比较熟悉。如果找到对应的规律,都可以往上面加规则