Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Читать онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
1 ... 602 603 604 605 606 607 608 609 610 ... 642
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

Оставшиеся контроллеры

Все оставшиеся контроллеры, специфичные для сущностей, будут производными от класса BaseCrudController, но без добавления дополнительной функциональности. Добавьте в каталог Controllers еще четыре пустых контроллера API с именами CreditRisksController, CustomersController, MakesController и OrdersController.

Вот код оставшихся контроллеров:

// CreditRisksController.cs

using AutoLot.Api.Controllers.Base;

using AutoLot.Models.Entities;

using AutoLot.Dal.Repos.Interfaces;

using AutoLot.Services.Logging;

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

using Microsoft.AspNetCore.Mvc;

namespace AutoLot.Api.Controllers

{

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

  public class CreditRisksController

    : BaseCrudController<CreditRisk, CreditRisksController>

  {

    public CreditRisksController(

      ICreditRiskRepo creditRiskRepo, IAppLogging<CreditRisksController> logger)

      : base(creditRiskRepo, logger)

    {

    }

  }

}

// CustomersController.cs

using AutoLot.Api.Controllers.Base;

using AutoLot.Models.Entities;

using AutoLot.Dal.Repos.Interfaces;

using AutoLot.Services.Logging;

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

using Microsoft.AspNetCore.Mvc;

namespace AutoLot.Api.Controllers

{

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

  public class CustomersController : BaseCrudController<Customer, CustomersController>

  {

    public CustomersController(

      ICustomerRepo customerRepo, IAppLogging<CustomersController> logger)

      : base(customerRepo, logger)

    {

    }

  }

}

// MakesController.cs

using AutoLot.Api.Controllers.Base;

using AutoLot.Models.Entities;

using Microsoft.AspNetCore.Mvc;

using AutoLot.Dal.Repos.Interfaces;

using AutoLot.Services.Logging;

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

namespace AutoLot.Api.Controllers

{

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

  public class MakesController : BaseCrudController<Make, MakesController>

  {

    public MakesController(IMakeRepo makeRepo, IAppLogging<MakesController> logger)

      : base(makeRepo, logger)

    {

    }

  }

}

// OrdersController.cs

using AutoLot.Api.Controllers.Base;

using AutoLot.Dal.Repos.Interfaces;

using AutoLot.Models.Entities;

using AutoLot.Services.Logging;

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

using Microsoft.AspNetCore.Mvc;

namespace AutoLot.Api.Controllers

{

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

  public class OrdersController : BaseCrudController<Order, OrdersController>

  {

     public OrdersController(IOrderRepo orderRepo,

       IAppLogging<OrdersController> logger) : base(orderRepo, logger)

    {

    }

  }

}

Итак, все контроллеры готовы и вы можете с помощью пользовательского интерфейса Swagger протестировать полную функциональность. Если вы собираетесь добавлять/обновлять/удалять записи, тогда измените значение RebuildDataBase на true в файле appsettings.development.json:

{

  ...

<b>  &quot;RebuildDataBase&quot;: true,</b>

  ...

}

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

Когда в приложении Web API возникает исключение, никакая страница со сведениями об ошибке не отображается, т.к. пользователем обычно является другое приложение, а не человек. Информация об ошибке должна быть отправлена в формате JSON наряду с кодом состояния HTTP. Как обсуждалось в главе 29, инфраструктура ASP.NET Core позволяет создавать фильтры, которые запускаются при появлении необработанных исключений. Фильтры можно применять глобально, на уровне контроллера или на уровне действия. Для текущего приложения вы построите фильтр исключений для отправки данных JSON (вместе с кодом HTTP 500) и включения трассировки стека, если сайт функционирует в режиме отладки.

1 ... 602 603 604 605 606 607 608 609 610 ... 642
Перейти на страницу:
Отывы о книге
Открыть боковую панель
Комментарии
Братислава
Братислава 05.03.2026 - 10:03
Очень понравились книга. Лёгкая. Уверенные в себе герои, прекрасные поступки
Ninel
Ninel 02.03.2026 - 09:26
Горячо ❤️‍🔥❤️‍🔥❤️‍🔥 и сладко
Елена
Елена 16.02.2026 - 15:44
Чувственная, проникновенная книга. Очень понравились действия героев. Не побоялись реакции семьи.
Божена
Божена 15.02.2026 - 23:56
История прекрасная. С потерей памяти, как по мне, перегиб, но не плохо
Полина
Полина 20.01.2026 - 22:43
Книга замечательная. История прекрасная.