.NET 6.0 Swagger多文件上传报错:index0errorValue must be a string
问题:Swagger将IFormFile集合解析为字符串列表引发报错
我定义了一个接收表单文件集合的接口:
[HttpPost] [Route("test_file")] public async Task<IActionResult> test_file([FromForm] IEnumerable<IFormFile> lstFile) { return null; }
但Swagger错误地将该参数解析为字符串列表,调用接口时出现报错:"index0errorValue must be a string"
解决方法
通过关闭Swagger配置中的SerializeAsV2选项,问题得以解决。修改后的Swagger配置代码如下:
app.UseSwagger(options => { //options.SerializeAsV2 = true; options.RouteTemplate = swaggerOption.JsonRoute; });
目前暂未明确该问题的具体原理,但关闭SerializeAsV2后,Swagger对IFormFile集合的解析恢复正常,报错不再出现。
内容的提问来源于stack exchange,提问作者tThangG
相关产品推荐
相关产品推荐

