使用最小 WEB API 实现文件上传的Swagger支持

2022-04-17 02:54:19
目录
前言:一、允许ContentType二、自定义OperationFilter

前言:

上回,我们使用最小 WEB API 实现文件上传功能《​ ​使用最小 WEB API 实现文件上传会遇到的坑​​》,虽然客户端访问是正常的,但是当打开 Swagger 页面时,发现是这样的:

使用最小WEBAPI实现文件上传的Swagger支持

没法使用 Swagger 页面测试。

一、允许 Content Type

RequestBody = new OpenApiRequestBody { Description = "My IO", Content = new Dictionary<String, OpenApiMediaType> { { FileUploadContentType, new OpenApiMediaType { Schwww.easck.comema = new OpenApiSchema { Type = "object", Required = new HashSet<String>{ "file" }, Properties = new Dictionary<String, OpenApiSchema> { { "file", new OpenApiSchema() { Type = "string", Format = "binary" } } } } } } } }; } }}

然后,在启动代码中配置,应用此操作筛选器:

builder.Services.AddSwaggerGen(setup =>{  setup.OperationFilter<FileUploadOperationFilter>();});

这将呈现如下 Swagger 页面:

使用最小WEBAPI实现文件上传的Swagger支持