NSWAG Angular客户端生成IFormFile问题

时间:2019-11-22 21:42:27

标签: angular swagger nswag

版本:

  • Asp.Net 2.2
  • Swashbuckle v5.0.0 rc2

使用NSWAG生成Angular客户端时遇到问题。我正在使用OAS 3.0。问题在于将IFormFile用作我的API中的参数。

这是我的终点

public async Task<object> UploadTest(IFormFile file) { }

在使用OAS 3时,nswag将在客户端代码中将上述端点的“ IFileFormat”参数生成为“ Blob”。

sample(body?: Blob | undefined): Observable<ObjectCommonApiResponse>;

使用OAS 2时,nswag将在客户端代码内将上述端点的“ IFileFormat”参数生成为“ FileParameter”。

sample(file?: FileParameter | null | undefined): Observable<ObjectCommonApiResponse>;

也许我丢失了一些东西,但是我不确定如何将文件转换为“ Blob”,这似乎没有用,所以可以将其传递到服务中。另一方面,当它是“ FileParameter”类型时,使用OAS 2,我可以使用自己的类扩展“ FileParameter”接口,然后将其发送进来并按预期工作。

1 个答案:

答案 0 :(得分:1)

这是将File数组转换为FileParameter中的TypeScript的一种方法:

const files: FileParameter[] = this.files
  ? this.files.map(i => {
    let fileParameter: FileParameter = { data: i, fileName: i.name };
    return fileParameter;
  })
  : null;