ASP.NET Core Web API. Первое приложение в Visual Studio

Итак, создадим свое первое приложение ASP.NET Core Web API на основе контроллеров в Visual Studio.

Первое приложение ASP.NET Core Web API на основе контроллеров

Для того, чтобы создать своё первое приложение ASP.NET Core Web API на основе контроллеров, выберем в Visual Studio следующий шаблон:

Шаблон Web API

На втором шаге нам потребуется задать название проекта и путь к папке с приложением:

Далее, мы должны определить основные настройки нашего проекта — выбрать платформу и указать какой API мы будем создавать:

ASP.NET Core Web API

Рассмотрим кратко, представленные на рисунке выше опции:

  • В списке «Платформа» выбирается одна из доступных платформ .NET, которая будет использоваться при разработке приложения. Выберем значение – .NET 9. В зависимости от того, какую платформу мы выберем будут зависеть и доступные нам возможности языка C#. Так, если выбрана платформа .NET 6 или более поздняя, то нам становится доступными такие возможности, как использование операторов верхнего уровня, использование директив global usings и другие нововведения языка C#.
  • Список «Тип проверки подлинности» содержит доступные варианты аутентификации пользователей в системе. С использованием в приложениях Web API систем аутентификации и авторизации пользователей мы подробнее будем разбираться далее, поэтому пока оставим этот пункт пустым.
  • Флажок «Настроить для HTTPS». Если флажок выбран, то Visual Studio добавит проект необходимые элементы для того, чтобы приложение могло производить автоматическое перенаправление пользователя на HTTPS, если запрос осуществляется по протоколу HTTP. Это значение можно оставить со значением по умолчанию.
  • Флажок «Включить Docker». Эту настройку оставим по умолчанию. Docker — это платформа, которая позволяет упаковать в контейнер приложение со всем окружением и зависимостями, а затем доставить и запустить его в целевой системе.
  • Флажок «Включить поддержку OpenAPI». Включение этой опции добавляет в проект необходимые зависимости и настраивает приложение для формирования документации по API. Если опция включена, то, по умолчанию, при запуске приложения из Visual Studio будет запускаться специальное программное обеспечение Swagger UI с помощью которого можно будет тестировать API и изучать документацию по API. Оставим эту настройку также в значении по умолчанию.
  • Флажок «Не использовать операторы верхнего уровня». Операторы верхнего уровня появились в .NET 6 и позволяют немного сократить код файла Program.cs. При использовании операторов верхнего уровня в файле отсутствует класс Program и его метод Main.
  • Флажок «Использовать контроллеры». Эту опцию необходимо включить, если по каким-то причинам она окажется отключений в вашей Visual Studio. Если эта опция будет отключена, то Visual Studio создаст новый проект, используя Minimal API.

После установки всех необходимых опций можно нажать кнопку «Создать» и в Visual Studio будет создан новый проект ASP.NET Core Web API.

Структура проекта ASP.NET Core Web API

Ниже показана структура нашего проекта:

  • Папка Properties содержит файл launchSettings.json в котором указываются основные настройки проекта и его поведение при запуске из Visual Studio. В этом файле мы можем настроить профили запуска приложения.
  • В разделе «Зависимости» мы можем увидеть ссылку на пакет «Swashbuckle.AspNetCore«. Этот пакет подключился в проект автоматически, когда в настройках проекта мы указали «Включить поддержку Open API».
  • Папка Controllers содержит контроллеры нашего API. По умолчанию, папка содержит всего один файл с контроллером WeatherForecastController.cs
  • Файл appsettings.json содержит конфигурацию нашего проекта. В отличие от файла launchSettings.json этот файл разворачивается вместе с приложением.
  • Файл FirstProject.http — используется для отладки приложения и имеет свой формат. Об этом файле мы обязательно поговорим более подробно, когда будем рассматривать вопросы тестирования запросов к ASP.NET Core Web API. Название файла формируется из названия проекта и расширения http
  • Файл Program.cs — главный файл приложения в котором создаются и настраиваются необходимые для работы приложения объекты.
  • Файл WeatherForecast.cs — файл модели, используемой в приложении

Запуск приложения

Запустим наше первое приложение. По умолчанию, при запуске нового проекта ASP.NET Core 9 Web API производится только запуск консоли:

Здесь мы можем увидеть какие адреса прослушиваются сервером, имя серды в которой запущено приложение (по умолчанию — это Development), а также путь к папке приложения. Стоит отметить, что в .NET 9 шаблонное приложение запускается и выглядит немного иначе, чем в .NET 8 — там проект запускался немного дольше так как запускался браузер в котором загружался интерфейс Swagger UI с документацией по API. В .NET 9 разработчики немного облегчили исходный код файла Program.cs и отключили автоматический запуск браузера.

Чтобы увидеть хоть какую-то работу нашего приложения, закроем окно консоли и откроем в обозревателе решений файл FirstProject.http. По умолчанию этот файл должен выглядеть следующим образом:

@FirstProject_HostAddress = http://localhost:5262

GET {{FirstProject_HostAddress}}/weatherforecast/
Accept: application/json

###

Здесь содержится всего один GET-запрос к ресурсу нашего API. Над запросом располагаются две ссылки «Отправить запрос» и «Отладка»:

Нажмем ссылку «Отладка». В результате запустится наше приложение и мы увидим в окне Visual Studio ответ на запрос:

Можно выполнить этот же запрос в обычном браузере. Не закрывая приложение, откройте браузер и наберите в адресной строке следующий адрес:

http://localhost[:port]/weatherforecast/

где [port] — номер порта, который был автоматически присвоен при создании вашего приложения (каждый раз порт выбирается случайным образом).

В результате, в браузере вы увидите следующий ответ сервера:

Итого

По умолчанию, при создании проекта ASP.NET Core Web API на основе контроллеров, в проект добавляется сервис для работы с контроллерами, а также сервисы и ПО промежуточного слоя для Swagger — платформы для создания документации и отладки API. В этой части мы рассмотрели основные настройки проекта, а также структуру приложение ASP.NET Core Web API с использованием контроллеров

Подписаться
Уведомить о
guest
4 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии