Izibook.club
Читать онлайн книги!
  • Главная
  • Жанры
  • Авторы
  • ТОП книг
  • ТОП авторов
  • Контакты

Язык программирования C#9 и платформа .NET5

Часть 581 из 642 Информация о книге

public IActionResult ByMake(int makeId, string makeName)

{

  ViewBag.MakeName = makeName;

  return View(_repo.GetAllBy(makeId));

}

На заметку! Если метод действия не декорирован каким-либо атрибутом метода HTTP, то по умолчанию принимается метод

GET
. Тем не менее, в веб-приложениях MVC непомеченные методы действий могут также реагировать на запросы
POST
. По этой причине рекомендуется явно помечать все методы действий подходящим атрибутом метода HTTP.

Маршрутизация для служб API

Существенное различие между определениями маршрутов, которые применяются для приложений в стиле MVC, и определениями маршрутов, которые используются для служб REST, заключается в том, что в определениях маршрутов для служб не указываются методы действий. Методы действий выбираются на основе метода HTTP запроса (и необязательно типа содержимого), но не по имени. Ниже приведен код контроллера API с четырьмя методами, которые все соответствуют одному и тому же шаблону маршрута. Обратите внимание на атрибуты методов HTTP:

[Route("api/[controller]")]

[ApiController]

public class CarController : ControllerBase

{

<b>  [HttpGet(&quot;{id}&quot;)]</b>

  public IActionResult GetCarsById(int id)

  {

    ...

  }

<b>  [HttpPost]</b>

  public IActionResult CreateANewCar(Car entity)

  {

    ...

  }

<b>  [HttpPut(&quot;{id}&quot;)]</b>

  public IActionResult UpdateAnExistingCar(int id, Car entity)

  {

    ...

  }

<b>  [HttpDelete(&quot;{id}&quot;)]</b>

  public IActionResult DeleteACar(int id, Car entity)

  {

    ...

  }

}

Если метод действия не имеет атрибута метода HTTP, то он трактуется как конечная точка приложения для запросов

GET
. В случае если запрос соответствует маршруту, но метод действия с корректным атрибутом метода HTTP отсутствует, тогда сервер возвратит ошибку 404 (не найдено).

На заметку! Инфраструктура ASP.NET Web API позволяет не указывать метод HTTP для метода действия, если его имя начинается с

Get
,
Put
,
Delete
или
Post
. Следование такому соглашению обычно считалось плохой идеей и в ASP.NET Core оно было удалено. Если для метода действия не указан метод HTTP, то он будет вызываться с применением НТТР-метода
GET
.

Последним селектором конечных точек для контроллеров API является необязательный атрибут

Consumes
, который задает тип содержимого, принимаемый конечной точкой. В запросе должен использоваться соответствующий заголовок
content-type
, иначе будет возвращена ошибка 415 Unsupported Media Туре (неподдерживаемый тип носителя). Следующие два примера конечных точек внутри одного и того же контроллера проводят различие между JSON и XML:

[HttpPost]

[Consumes(&quot;application/json&quot;)]

public IActionResult PostJson(IEnumerable&lt;int&gt; values) =&gt;

  Ok(new { Consumes = &quot;application/json&quot;, Values = values });

[HttpPost]

[Consumes(&quot;application/x-www-form-urlencoded&quot;)]

public IActionResult PostForm([FromForm] IEnumerable&lt;int&gt; values) =&gt;

  Ok(new { Consumes = &quot;application/x-www-form-urlencoded&quot;, Values = values });

Перенаправление с использованием маршрутизации

 Еще одно преимущество маршрутизации связано с тем, что вам больше не придется жестко кодировать URL для других страниц в своем сайте. Записи в таблице маршрутов применяются для сопоставления с входящими запросами, а также для построения URL. При построении URL схема, хост и порт добавляются на основе значений текущего запроса.

Фильтры

Фильтры в ASP.NET Core запускают код до или после специфической фазы конвейера обработки запросов. Существуют встроенные фильтры для авторизации и кеширования, а также возможность назначения специальных фильтров. В табл. 29.7 описаны типы фильтров, которые могут быть добавлены в конвейер, перечисленные в порядке их выполнения.

Язык программирования C#9 и платформа .NET5 - _274.png

Фильтры авторизации

Фильтры авторизации работают с системой ASP.NET Core Identity, чтобы предотвратить доступ к контроллерам или действиям, использовать которые пользователь не имеет права. Создавать специальные фильтры авторизации не рекомендуется, поскольку встроенные классы

AuthorizeAttribute
и
AllowAnonymousAttribute
обычно обеспечивают достаточный охват в случае применения ASP.NET Core Identity.

Фильтры ресурсов

Код "перед" выполняется после фильтров авторизации и до любых других фильтров, а код "после" выполняется после всех остальных фильтров. Таким образом, фильтры ресурсов способны замкнуть накоротко целый конвейер запросов. Обычно фильтры ресурсов используются для кеширования. Если ответ находится в кеше, тогда фильтр может пропустить остаток конвейера.

Фильтры действий

Код "перед" выполняется немедленно перед выполнением метода действия, а код "после" выполняется сразу после выполнения метода действия. Фильтры действий могут замкнуть накоротко метод действия и любые фильтры, помещенные внутрь фильтров действий.

Фильтры исключений

Фильтры исключений реализуют сквозную обработку ошибок в приложении. У них нет событий, возникающих до или после, но они обрабатывают любые необработанные исключения, сгенерированные при создании контроллеров, привязке моделей, запуске фильтров действий либо выполнении методов действий.

Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело 4
    • Спецслужбы 4
  • Деловая литература 209
    • Банковское дело 3
    • Деловая литература 2
    • Корпоративная культура 13
    • Личные финансы 21
    • Малый бизнес 2
    • Маркетинг, PR, реклама 47
    • О бизнесе популярно 117
    • Отраслевые издания 2
    • Управление, подбор персонала 17
    • Ценные бумаги, инвестиции 3
    • Экономика 28
  • Детективы и триллеры 2816
    • Боевики 314
    • Дамский детективный роман 22
    • Детективы 424
    • Иронические детективы 185
    • Исторические детективы 417
    • Классические детективы 226
    • Криминальные детективы 159
    • Крутой детектив 120
    • Маньяки 15
    • Медицинский триллер 2
    • Политические детективы 44
    • Полицейские детективы 237
    • Прочие Детективы 831
    • Техно триллер 3
    • Триллеры 1235
    • Шпионские детективы 101
  • Детские 506
    • Детская образовательная литература 13
    • Детская проза 167
    • Детские остросюжетные 53
    • Детские приключения 270
    • Детские стихи 21
    • Детский фольклор 1
    • Книга-игра 1
    • Прочая детская литература 78
  • Детские книги 542
    • Детская фантастика 199
    • Детские детективы 3
    • Книги для подростков 23
    • Сказки 273
  • Документальная литература 818
    • Биографии и мемуары 536
    • Военная документалистика 7
    • Искусство и Дизайн 15
    • Критика 11
    • Научпоп 9
    • Прочая документальная литература 73
    • Публицистика 260
  • Дом и Семья 217
    • Домашние животные 14
    • Здоровье и красота 34
    • Кулинария 33
    • Прочее домоводство 8
    • Развлечения 3
    • Сад и Огород 8
    • Сделай сам 2
    • Спорт 10
    • Хобби и ремесла 7
    • Эротика и секс 112
  • Драматургия 112
    • Драма 109
    • Киносценарии 3
    • Мистерия 1
    • Трагедия 1
  • Жанр не определен 8
    • Разное 8
  • Компьютеры и Интернет 15
    • Базы данных 3
    • Интернет 3
    • Программирование 1
    • Программное обеспечение 1
    • Прочая компьютерная литература 10
  • Любовные романы 26783
    • Исторические любовные романы 959
    • Короткие любовные романы 2707
    • Любовно-фантастические романы 11109
    • Остросюжетные любовные романы 1005
    • Порно 90
    • Прочие любовные романы 57
    • Слеш 417
    • Современные любовные романы 11051
    • Фемслеш 44
    • Эротика 6610
  • Научно-образовательная 379
    • Альтернативная медицина 5
    • Астрономия и Космос 7
    • Биология 33
    • Биофизика 2
    • Биохимия 2
    • Ботаника 3
    • Военная история 4
    • Геология и география 3
    • Государство и право 1
    • Детская психология 16
    • Зоология 3
    • Иностранные языки 2
    • Культурология 47
    • Литературоведение 20
    • Медицина 36
    • Обществознание 7
    • Педагогика 20
    • Политика 22
    • Прочая научная литература 58
    • Психотерапия и консультирование 52
    • Религиоведение 7
    • Секс и семейная психология 31
    • Технические науки 4
    • Физика 9
    • Философия 35
    • Химия 3
    • Экология 3
    • Юриспруденция 9
    • Языкознание 18
  • Образование 525
    • Бизнес 45
    • Биография и мемуары 46
    • Здоровье 10
    • История 298
    • Карьера 4
    • Психология 231
  • Поэзия и драматургия 43
    • Басни 2
    • Драматургия 11
    • Лирика 2
    • Поэзия 31
  • Приключения 771
    • Вестерны 14
    • Исторические приключения 426
    • Морские приключения 80
    • Природа и животные 32
    • Прочие приключения 213
    • Путешествия и география 52
  • Проза 2464
    • Антисоветская литература 5
    • Афоризмы 1
    • Военная проза 111
    • Историческая проза 325
    • Классическая проза 137
    • Контркультура 14
    • Магический реализм 97
    • Новелла 14
    • Повесть 24
    • Проза прочее 21
    • Рассказ 73
    • Роман 104
    • Русская классическая проза 73
    • Семейный роман/Семейная сага 3
    • Сентиментальная проза 10
    • Советская классическая проза 48
    • Современная проза 1893
    • Эпистолярная проза 2
    • Эпопея 5
    • Эссе, очерк, этюд, набросок 3
  • Прочее 1529
    • Газеты и журналы 7
    • Изобразительное искусство, фотография 12
    • Кино 13
    • Музыка 11
    • Подростковая литература 6
    • Театр 5
    • Фанфик 1480
  • Религия и духовность 371
    • Астрология 1
    • Буддизм 4
    • Православие 1
    • Прочая религиозная литература 4
    • Религия 24
    • Самосовершенствование 143
    • Хиромантия 1
    • Эзотерика 214
    • Язычество 1
  • Справочная литература 42
    • Прочая справочная литература 3
    • Путеводители 10
    • Руководства 12
    • Справочники 15
    • Энциклопедии 9
  • Старинная литература 157
    • Античная литература 1
    • Древневосточная литература 5
    • Мифы. Легенды. Эпос 35
    • Прочая старинная литература 117
  • Техника 2
    • Автомобили и ПДД 1
    • Архитектура 1
  • Фантастика и фентези 28901
    • Альтернативная история 4253
    • Боевая фантастика 5421
    • Героическая фантастика 1501
    • Городское фэнтези 2329
    • Готический роман 14
    • Детективная фантастика 762
    • Ироническая фантастика 102
    • Ироническое фэнтези 84
    • Историческое фэнтези 535
    • Киберпанк 322
    • Космическая фантастика 1838
    • Космоопера 57
    • ЛитРПГ 1343
    • Любовная фантастика 186
    • Любовное фэнтези 115
    • Мистика 528
    • Научная фантастика 950
    • Попаданцы 9594
    • Постапокалипсис 925
    • Сказочная фантастика 26
    • Социально-философская фантастика 559
    • Стимпанк 152
    • Технофэнтези 148
    • Ужасы 103
    • Ужасы и мистика 836
    • Фантастика 254
    • Фантастика: прочее 234
    • Фэнтези 11605
    • Эпическая фантастика 236
    • Юмористическая фантастика 1083
    • Юмористическое фэнтези 1703
  • Фольклор 7
    • Загадки 1
    • Народные сказки 5
    • Фольклор: прочее 2
  • Юмор 195
    • Анекдоты 1
    • Комедии 1
    • Прочий юмор 67
    • Сатира 3
    • Юмористическая проза 124
    • Юмористические стихи 5
Izibook.club

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • pereezdsayta@yandex.ru
Информация
  • Карта сайта
© izibook.club, 2026. | Вход
Этот сайт использует cookie для хранения данных. Продолжая пользоваться сайтом, вы даете свое согласие на работу с этими данными в соответствии с нашей политикой конфиденциальности.
Я согласен