chenshuai2144 / openapi2typescript

一个被大范围使用的小工具
312 stars 136 forks source link

multiple file upload #50

Closed wilds closed 2 years ago

wilds commented 2 years ago
chenshuai2144 commented 2 years ago

好久没见到多文件上传了,可以贴一下生成的样子吗

wilds commented 2 years ago

Multiple files upload

"requestBody": {
    "content": {
        "multipart/form-data": {
            "schema": {
                "type": "object",
                "properties": {
                    "obj": {
                        "$ref": "#/components/schemas/ObjDto"
                    },
                    "docs": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        }
                    }
                }
            }
        }
    }
}

produces:

export async function updateObj(
  params: API.updateObjParams,
  body: {
    obj: API.ObjDto;
  },
  docs?: File[],
  options?: { [key: string]: any },
) {
  const { id: param0, ...queryParams } = params;
  const formData = new FormData();

  if (docs) {
    docs.forEach((f) => formData.append('docs', f || ''));
  }

...
wilds commented 2 years ago

Single file upload

"requestBody": {
    "content": {
        "multipart/form-data": {
            "schema": {
                "type": "object",
                "properties": {
                    "obj": {
                        "$ref": "#/components/schemas/ObjDto"
                    },
                    "docs": {
                        "type": "string",
                        "format": "binary"
                    }
                }
            }
        }
    }
}

produces:

export async function updateObj(
  params: API.updateObjParams,
  body: {
    obj: API.ObjDto;
  },
  file?: File,
  options?: { [key: string]: any },
) {
  const { id: param0, ...queryParams } = params;
  const formData = new FormData();

  if (file) {
    formData.append('file', file);
  }

...