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;
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
:
{
...
"RebuildDataBase": true,
...
}
Фильтры исключений
Когда в приложении Web API возникает исключение, никакая страница со сведениями об ошибке не отображается, т.к. пользователем обычно является другое приложение, а не человек. Информация об ошибке должна быть отправлена в формате JSON наряду с кодом состояния HTTP. Как обсуждалось в главе 29, инфраструктура ASP.NET Core позволяет создавать фильтры, которые запускаются при появлении необработанных исключений. Фильтры можно применять глобально, на уровне контроллера или на уровне действия. Для текущего приложения вы построите фильтр исключений для отправки данных JSON (вместе с кодом HTTP 500) и включения трассировки стека, если сайт функционирует в режиме отладки.
На заметку! Фильтры — крайне мощное средство ASP.NET Core. В этой главе вы ознакомитесь только с фильтрами исключений, но с их помощью можно создавать очень многое, что значительно экономит время при построении приложений ASP.NET Core. Полную информацию о фильтрах ищите в документации по ссылке