版本:
使用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”接口,然后将其发送进来并按预期工作。
答案 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;