Обработка исключений позволяет нам избежать аварийного завершения работы приложения. Для обработки исключений в приложениях C#, обычно, используются блоки try...catch с ключевым словом final для того, чтобы очистить ресурсы приложения. Это стандартная практика обработки исключений, которая может также применяться и в приложениях ASP.NET Core Web API. Однако, платформа ASP.NET Core позволяет извлечь всю логику обработки исключений и сосредоточить её в одном централизованном месте, избежав тем самым использования блоков try…catch в действиях контроллера и обеспечить, при необходимости, единый формат сообщений о возникших исключительных ситуациях в приложении. Такой подход к обработке исключений в приложениях ASP.NET Core называется Global Error Handling – глобальная обработка ошибок.
ASP.NET Core Web API
Обновление JWT-токена
Многие современные приложения Web API, использующие для аутентификации пользователя JWT-токены, во-первых, ограничивают время жизни токена, а, во-вторых, позволяют пользователю обновить токен без повторного ввода учётных данных. На данный момент наше приложение обладает только одной из этих функций – мы ограничиваем время жизни токена, однако не даем пользователю возможности обновить его.
Авторизация пользователей с использованием политик
Политика авторизации — это набор критериев, включая роли, которым должен соответствовать пользователь, чтобы получить доступ к ресурсу.
Авторизация пользователей по ролям
На данный момент у нас в проекте имеется контроллер для работы с учётными записями пользователей и их аутентификации, а также контроллер WeatherForecastController, который создается по умолчанию в шаблонном проекте ASP.NET Core Web API. Допустим, мы хотим позволить получать данные о прогнозе погоду только авторизованным пользователям. В ASP.NET Core сделать это достаточно просто, используя специальный атрибут [Authorize].
Аутентификации пользователя на основе JWT-токена
Одним из наиболее популярных способов аутентификации пользователей в приложениях Web API является использование JWT-токенов.
ASP.NET Core Identity
В подавляющем большинстве случаев, для доступа пользователей приложения Web API к ресурсам используются механизмы аутентификации и авторизации пользователей. В этой главе мы разберемся с механизмом аутентификации и авторизации пользователей в приложении ASP.NET Core Web API. Но, для начала, разберемся с основными определениями
Валидация модели. Свойство контроллера ModelState
В этой части мы рассмотрим вопросы валидации модели, касающиеся непосредственно ASP.NET Core.
Валидация модели. Атрибуты валидации
Валидация модели, то есть её проверка на допустимость значений, содержащихся в ней – это, строго говоря, механизм самой платформы .NET. Однако, в ASP.NET Core этот механизм расширен и дополнен. Поэтому, не лишним будет затронуть и вопросы связанные с валидацией модели в этой части.
Использование параметров запроса для привязки модели. Фильтрация результатов (передача массивов)
Фильтрация данных, наряду с постраничным выводом результатов, позволяет ускорить работу приложения. Однако, прежде чем мы перейдем к реализации фильтрации в нашем приложении, стоит рассмотреть вопрос: чем отличается фильтрация от поиска?
Использование параметров запроса для привязки модели. Постраничный вывод результатов
В предыдущей части были рассмотрены общие моменты, касающиеся передачи данных в контроллеры через параметры запросов. Однако, как говорят, теория без практики мертва, практика без теории слепа. В этой части и далее мы рассмотрим несколько практических примеров использования параметров запросов в приложениях Web API и начнем с одного из важнейших вопросов — постраничного вывода результатов.