Миграция Net Core 2.0 API на Net Core 3.1 - PullRequest
2 голосов
/ 05 марта 2020

Я обновляю свой 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.

...