Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

SuperJMN

Я хочу использовать в своем веб-API и OData, и Swagger. Я использую ASP.NET Core 3.1.

Я нашел эти статьи, одна для включения OData, а другая для включения SwaggerUI

Однако я не могу включить и то, и другое одновременно. Похоже, я неправильно их смешиваю.

Это код, который у меня есть сейчас:

Startup.cs

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();
        services.AddOData();
        AddSwagger(services);
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();
        app.UseRouting();
        app.UseAuthorization();

        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "Foo API V1");
        });

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
            endpoints.Select().Filter().OrderBy().Count().MaxTop(10);
            endpoints.MapODataRoute("odata", "odata", GetEdmModel());
        });
    }

    private IEdmModel GetEdmModel()
    {
        var odataBuilder = new ODataConventionModelBuilder();
        odataBuilder.EntitySet<WeatherForecast>("WeatherForecast");

        return odataBuilder.GetEdmModel();
    }

    private void AddSwagger(IServiceCollection services)
    {
        services.AddSwaggerGen(options =>
        {
            var groupName = "v1";

            options.SwaggerDoc(groupName, new OpenApiInfo
            {
                Title = $"Foo {groupName}",
                Version = groupName,
                Description = "Foo API",
                Contact = new OpenApiContact
                {
                    Name = "Foo Company",
                    Email = string.Empty,
                    Url = new Uri("https://example.com/"),
                }
            });
        });
    }
}

Он работает, когда я перехожу на https: // localhost: 44363 / odata / weatherforecast Но когда я пытаюсь загрузить интерфейс Swagger, это показывает:

введите описание изображения здесь

Ничего не показывает!

Это мой контроллер:

Контроллер

[Route ("[controller]")] открытый класс WeatherForecastController: ControllerBase {private static readonly string [] Summaries = new [] {"Замораживание", "Бодрящий", "Холодный", "Холодный", "Мягкий", "Теплый" "," Мягкий "," Горячий "," Изнуряющий "," Обжигающий "};

    [EnableQuery]
    public IEnumerable<WeatherForecast> Get()
    {
        var rng = new Random();
        return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Id = Guid.NewGuid(),
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
            .ToArray();
    }
}
пареш

Я использовал нижеприведенный пакет nuget, и эта проблема была решена. Установочный пакет OData.Swagger

Ссылка: https://github.com/KishorNaik/Sol_OData_Swagger_Support

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Swashbuckle / Swagger + ASP.Net Core: «Не удалось загрузить определение API»

маршрутизация для веб-API asp.net вместе с odata

Есть ли в Swagger (Asp.Net Core) описание контроллера?

Переименовать модель в Swashbuckle 6 (Swagger) с помощью веб-API ASP.NET Core

Переименовать модель в Swashbuckle 6 (Swagger) с помощью веб-API ASP.NET Core

Создание .NET Core и Swagger API

Плавная проверка с помощью Swagger в Asp.net Core

OData с EF Core / ASP.NET Core - хорошо или плохо?

OData в сериализации веб-API .NET Core для списка / словаря

Пользовательский интерфейс Cutomize Swagger, веб-API ASP.NET Core

Создание точек enbdpoints, возвращающих OData в веб-API ASP.NET Core

Подключите MiniProfiler к ASP.NET Core Web API Swagger

Asp.Net Core oData - отправить запрос, все свойства равны нулю

ASP.NET Core API oData и модель уровня API

Интеграция Swagger и .Net Core 3

Добавление Swagger в веб-API ASP.Net Core

С # .net core swagger пытается использовать несколько версий API, но все конечные точки есть во всех документах

Пагинация веб-API Odata asp.net core 2.2 на страницы

Реализация веб-API ASP.Net Core с OData не работает для URI одного объекта

Токен носителя авторизации не отправляется в запросе с использованием Swagger в Asp.Net Core

Как вы перемещаетесь / настраиваете переход от сложного типа к типу сущности в OData в ASP.NET Core?

Как явно определить путь контроллеров API для документации Swagger в проекте Asp.Net Core MVC

Заголовок авторизации Swagger не отображается в проекте ASP.NET Core

.Net Core 3 Web API с OData $ count не возвращает значение

ASP.NET Core API: всплывающее окно проверки подлинности не отображается в пользовательском интерфейсе Swagger

Необязательный параметр в запросах GET для API ASP.NET Core не работает с Swagger

Возможно ли предоставить один и тот же Swagger JSON в форматах Swagger 2.0 и Open API 3 с помощью Swashbuckle в ASP .NET Core?

Как отображать комментарии в виде абзацев описания в Swagger в API ASP.NET Core

Asp.net Core + Swagger: как показать API типа GET

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Flutter: Unhandled Exception: FileSystemException: Creation failed, path = 'Directory: '' (OS Error: Read-only file system, errno = 30)

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Bogue étrange datetime.utcnow()

  5. 5

    Как изменить значок приложения для проекта libgdx android

  6. 6

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  7. 7

    Как получить список индексов всех значений NaN в массиве numpy?

  8. 8

    Не удается запустить компилятор cl

  9. 9

    Почему actionPerformed выполняется двумя потоками?

  10. 10

    Дженерики и потоки Java

  11. 11

    How to convert C++/CLI string to const char*

  12. 12

    Запрос Google Таблиц по дате и сгруппировать отсутствующие данные

  13. 13

    Airflow не распознает мои настройки подключения S3

  14. 14

    numpy: в true_divide обнаружено недопустимое значение

  15. 15

    Редактировать существующий файл Excel C # npoi

  16. 16

    Динамическое создание точек / квадратов внутри Picturebox

  17. 17

    discord.py: on_message (message) не работает несколько дней

  18. 18

    TypeError: ownKeys на прокси: результат ловушки не включал аргументы

  19. 19

    Невозможно подключиться к базе данных pgsql с помощью Java REST-API на локальном сервере Tomcat. Стек содержит ExceptionInInitializerError и IllegalStateException

  20. 20

    Passing Core Data objects from UITableViewCell to another View Controller

  21. 21

    Как отфильтровать несколько столбцов в Qtableview?

популярныйтег

файл