【发布时间】:2020-03-24 12:25:21
【问题描述】:
我已经创建了一个 .NET Core 3.1 Web API,并且我使用 swagger 作为它的文档/预览。我既想上传文件,又想向 post call 发送很长的一些数据。我可以拨打 1 次电话来上传数据,这很有效。我可以再次调用来发送对象数据,这很有效。 但尝试将 2 组合在一起(通过使用 swagger 接口填写数据)永远不会命中该方法并给我错误:不支持的媒体类型。
[HttpPost]
[Route("Send")]
public void Send(IFormFile file, Email emailInfo)
{
}
[HttpPost]
[Route("Test")]
public void Test(IFormFile file)
{
}
public class Email
{
public List<string> To { get; set; }
public string Body { get; set; }
public string Subject { get; set; }
public IFormFile Files { get; set; }
}
您可能注意到的一件事是在发送时我有 IFromFile 作为参数,但在电子邮件对象中也有 IFromFile。出于某种原因,为了让 Swagger 在参数中显示文件选择按钮,它需要在两个位置。
【问题讨论】:
标签: swagger asp.net-core-webapi