Контроллеры Web API. Согласование содержимого и форматирование данных ответа

На сегодняшний день, практически форматом по умолчанию для отправки ответа клиенту сервером Web API считается JSON. Это действительно довольно популярный, лаконичный и простой формат обмена данными, который используется практически повсеместно. Когда мы создаем приложение ASP.NET Core Web API, то, по умолчанию, сервер также пытается сериализовать ответ в JSON. При этом, ASP.NET Core позволяет настраивать формат данных ответа и использовать, в том числе, для обмена данными XML. В этой части мы рассмотрим некоторые вопросы форматирования данных ответа в приложениях ASP.NET Core Web API.

Читать далее

Контроллеры Web API. Передача данных в контроллер через параметры запроса

Одним из способов передачи данных в контроллер, помимо параметров маршрута, является также использование параметров запроса в URL. Параметры запроса могут активно использоваться в проекте Web API, например, для определения пользователем фильтров данных, направления сортировки и т.д. ASP.NET Core позволяет передавать с помощью параметров запроса как простые типы данных, так и сложные. Этот способ передачи данных в контроллер является одним из способов, используемых системой привязки модели в ASP.NET Core.

Читать далее

Контроллеры ASP.NET Core Web API. Параметры и ограничения маршрутов

При настройке системы маршрутизации, мы можем задавать шаблоны маршрутов, содержащих параметры и различные ограничения эти параметров. Сегодня более подробно разберемся с шаблонами маршрутов в ASP.NET Core Web API.

Читать далее

Контроллеры ASP.NET Core Web API. Маршрутизация с использованием атрибутов HTTP-команд

Маршрутизация с использованием атрибута Route, которую мы рассмотрели в предыдущей части используется в проектах ASP.NET Core Web API наиболее часто, так как многократное применение этого атрибута к цели (классу или методу) позволяет создавать гибкую систему маршрутизации. Однако, при необходимости, мы можем настраивать маршрутизацию в контроллере также и с помощью атрибутов HTTP-команд.

Читать далее

Контроллеры ASP.NET Core Web API. Маршрутизация с использованием атрибута Route

Маршрутизация в ASP.NET Core Web API — это механизм сопоставления входящих HTTP-запросов с конкретными действиями контроллера. В нашем случае, под понятием «маршрут» понимается URI на который пользователь отправляет запрос. Используя данные маршрута, ASP.NET Core выбирает наиболее подходящее этому маршруту действие контроллера и выполняет его. В проектах ASP.NET Core Web API используется маршрутизация на основе атрибутов. В этой части мы рассмотрим один из вариантов настройки маршрутизации в проекте ASP.NET Core Web API — с использованием атрибута Route.

Читать далее

ASP.NET Core Web API. Жизненный цикл зависимостей

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

Читать далее

ASP.NET Core Web API. Способы получения сервисов

Разработанные нами сервисы можно запрашивать различными способами. До сих пор, во всех предыдущих примерах, использовался только один из способов получения сервиса — через конструктор класса, в котором планируется использование сервиса. В этой части рассмотрим все доступные способы получения сервисов в ASP.NET Core Web API.

Читать далее

ASP.NET Core Web API. Создание и регистрация сервисов

Чаще всего, в качестве типа сервиса выступает какой-либо интерфейс, однако, это обстоятельство не является обязательным — в качестве сервиса может выступать и обычных класс. Рассмотрим возможные варианты создания сервисов и их регистрации в контейнере DI

Читать далее

ASP.NET Core Web API. Dependency Injection

Dependency Injection или внедрение зависимостей — это встроенная часть платформы .NET, которая позволяет сделать взаимодействующие в приложении объекты слабосвязанными. Обычно, такие объекты связываются через абстракции (чаще всего — интерфейсы). Dependency Injection является одним из основных механизмов расширения возможностей вашего приложения ASP.NET Core.

Читать далее