Публикация веб-API ASP.NET Core в службе управления API Azure с помощью Visual Studio
Автор: Мэтт Сукуп (Matt Soucoup)
В этом руководстве вы узнаете, как создать проект веб-API ASP.NET Core с помощью Visual Studio, обеспечить поддержку OpenAPI, а затем опубликовать веб-API как в службе приложение Azure, так и в Azure Управление API.
Настройка
Чтобы завершить руководство, вам потребуется учетная запись Azure.
- Создайте бесплатную учетную запись Azure, если у вас ее нет.
Создание веб-API ASP.NET Core
Visual Studio позволяет легко создавать новый проект веб-API ASP.NET Core на основе шаблона. Выполните следующие инструкции, чтобы создать проект веб-API core ASP.NET:
- В меню "Файл" выберите "Создать>проект".
- В поле поиска введите Веб-API.
- Выберите шаблон Веб-API ASP.NET Core и нажмите кнопку Далее.
- В диалоговом окне "Настройка нового проекта" назовите проект WeatherAPI и нажмите кнопку "Далее".
- В диалоговом окне Дополнительные сведения выполните следующие действия.
- Убедитесь, что платформа — .NET 6.0 (долгосрочная поддержка).
- Убедитесь, что проверка box для контроллеров использования (un проверка для использования минимальных API) проверка.
- Убедитесь, что проверка box для включения поддержки OpenAPI проверка.
- Выберите Создать.
Обзор кода
Определения Swagger позволяют Azure Управление API читать определения API приложения. Проверка включение поддержки OpenAPI проверка box во время создания приложения Visual Studio автоматически добавляет код для создания определений Swagger. Program.cs
Откройте файл, в котором показан следующий код:
...
builder.Services.AddSwaggerGen();
...
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI(); // Protected by if (env.IsDevelopment())
}
...
Убедитесь, что определения Swagger всегда создаются
Управление API Azure требует, чтобы определения Swagger всегда присутствовали независимо от среды приложения. Чтобы гарантировать, что они всегда создаются, перемещайтесь app.UseSwagger();
за пределы if (app.Environment.IsDevelopment())
блока.
Обновленный код выглядит следующим образом:
...
app.UseSwagger();
if (app.Environment.IsDevelopment())
{
app.UseSwaggerUI();
}
...
Изменение маршрутизации API
Измените структуру URL-адресов, необходимую для доступа к Get
действию WeatherForecastController
. Выполните следующие действия:
Откройте файл
WeatherForecastController.cs
.Замените
[Route("[controller]")]
атрибут[Route("/")]
уровня класса на . Обновленное определение класса:[ApiController] [Route("/")] public class WeatherForecastController : ControllerBase
Публикация веб-API в Службе приложений Azure
Выполните следующие действия, чтобы опубликовать веб-API ASP.NET Core в службе управления API Azure.
- Публикация приложения API в Службе приложений Azure
- Опубликуйте приложение веб-API ASP.NET Core в экземпляре службы управления API Azure.
Публикация приложения API в Службе приложений Azure
Выполните следующие действия, чтобы опубликовать веб-API ASP.NET Core в службе управления API Azure.
Щелкните правой кнопкой мыши проект в обозревателе решений и выберите пункт Опубликовать.
В диалоговом окне "Публикация" выберите Azure и нажмите кнопку "Далее".
Выберите Служба приложений Azure (Windows) и нажмите кнопку Далее.
Выберите Создание новой службы приложений Azure.
Откроется диалоговое окно Создать службу приложений. Заполняются поля ввода Имя приложения, Группа ресурсов и План службы приложений. Вы можете сохранить эти имена или изменить их.
Выберите кнопку Создать.
После создания службы приложений нажмите кнопку "Далее ".
Выберите "Создать новую службу Управление API".
Откроется диалоговое окно "Создание Управление API службы". Вы можете оставить поля записи api Name, Subscription Name и Resource Group ( Имя подписки) по мере их использования. Нажмите новую кнопку рядом с записью службы Управление API и введите необходимые поля из этого диалогового окна.
Нажмите кнопку "ОК", чтобы создать службу Управление API.
Нажмите кнопку "Создать", чтобы продолжить создание службы Управление API. Этот шаг может занять несколько минут.
После завершения нажмите кнопку "Готово ".
Диалоговое окно закроется, а затем появится экран сводки со сведениями о публикации. Нажмите кнопку Опубликовать.
Веб-API публикуется как в службе приложение Azure, так и в Azure Управление API. Появится новое окно браузера, в котором будет показан API, работающий в службе приложений Azure. Это окно можно закрыть.
Откройте портал Azure в веб-браузере и перейдите к созданному экземпляру Управление API.
Выберите параметр API в меню слева.
Выберите API, созданный на предыдущих шагах. Теперь он заполнен, и вы можете изучить его.
Настройка имени опубликованного API
Обратите внимание, что имя API называется WeatherAPI. Однако мы хотели бы назвать его прогнозами погоды. Выполните следующие действия, чтобы обновить имя:
Добавьте следующее
Program.cs
сразу послеservies.AddSwaggerGen();
builder.Services.ConfigureSwaggerGen(setup => { setup.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Weather Forecasts", Version = "v1" }); });
Повторно опубликуйте веб-API ASP.NET Core и откройте экземпляр службы управления API Azure на портале Azure.
Обновите страницу в браузере. Теперь отобразится правильное имя API.
Проверка работоспособности веб-API
Вы можете протестировать развернутый веб-API ASP.NET Core в службе управления API Azure на портале Azure, выполнив следующие действия.
- Откройте вкладку Тест.
- Выберите / или операцию Get.
- Выберите Отправить.
Очистка
Завершив тестирование приложения, перейдите на портал Azure и удалите приложение.
Выберите пункт Группы ресурсов, а затем созданную группу ресурсов.
На странице Группы ресурсов выберите Удалить.
Введите имя группы ресурсов и выберите Удалить. Ваше приложение и все ресурсы, созданные при работе с этим руководством, удалены из Azure.
Дополнительные ресурсы
ASP.NET Core