Я обновляю свой ASP NET Core API с версии 2.0 до 3.1. Мне нужно обновить swagger до версии 5.0, что приносит много изменений. Одна вещь, с которой я застрял - это Контроллер, который обрабатывает загрузку файлов. Ранее
public class FileUploadOperation : IOperationFilter
{
public void Apply(Operation operation, OperationFilterContext context)
{
if (operation.OperationId.ToLower() == "apivaluesuploadpost")
{
operation.Parameters.Clear();
operation.Parameters.Add(new NonBodyParameter
{
Name = "uploadedFile",
In = "formData",
Description = "Upload File",
Required = true,
Type = "file"
});
operation.Consumes.Add("multipart/form-data");
}
}
}
Но после изменения вводятся OpenApiOperation и OpenApiParameters, которые меняют многие вещи, например, заменяя строки на перечисления в параметрах. У меня есть действие, которое ожидает файл
public async Task<IActionResult> FileUp([FromForm(Name = "formFile")]IFormFile formFile)
Сейчас в новых параметрах In изменен тип enum: заголовок, путь, запрос, Cook ie, но ни один из них не имеет смысла для этого действия. Может ли кто-нибудь помочь разрешить изменения без существенного изменения структуры API.