Что уровень обслуживания должен возвращать контроллеру при проверке данных на уровне обслуживания для API .NET Core? ⇐ C#
Что уровень обслуживания должен возвращать контроллеру при проверке данных на уровне обслуживания для API .NET Core?
У меня есть небольшой автомобильный API, состоящий из контроллера, службы и репозитория. Я хочу проверить данные на уровне службы и вернуть 200, 404 или 400 с небольшим сообщением о том, в чем проблема, от услуга. Другими словами, я хочу перенести всю логику с контроллера на сервисный уровень.
Как я могу вернуть код состояния и, если это ошибка, то, что ее вызвало, с уровня обслуживания на контроллер?
Метод API-контроллера:
[HttpGet("GetById/{Id:int}", Name = "GetCar")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status400BadRequest)] общедоступный IActionResult GetById (int Id) { если (идентификатор u.Id == Id); если (автомобиль == ноль) { ModelState.AddModelError("CarNotFound", "Автомобиль не найден!"); вернуть NotFound(ModelState); } вернуть ОК (автомобиль); } Метод сервисного уровня:
public IActionResult GetById (int carId) { возвращаться; } Метод уровня репозитория:
Общественный автомобиль? GetById(int carId) { return _db.Car.FirstOrDefault(c => c.Id == carId); }
У меня есть небольшой автомобильный API, состоящий из контроллера, службы и репозитория. Я хочу проверить данные на уровне службы и вернуть 200, 404 или 400 с небольшим сообщением о том, в чем проблема, от услуга. Другими словами, я хочу перенести всю логику с контроллера на сервисный уровень.
Как я могу вернуть код состояния и, если это ошибка, то, что ее вызвало, с уровня обслуживания на контроллер?
Метод API-контроллера:
[HttpGet("GetById/{Id:int}", Name = "GetCar")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status400BadRequest)] общедоступный IActionResult GetById (int Id) { если (идентификатор u.Id == Id); если (автомобиль == ноль) { ModelState.AddModelError("CarNotFound", "Автомобиль не найден!"); вернуть NotFound(ModelState); } вернуть ОК (автомобиль); } Метод сервисного уровня:
public IActionResult GetById (int carId) { возвращаться; } Метод уровня репозитория:
Общественный автомобиль? GetById(int carId) { return _db.Car.FirstOrDefault(c => c.Id == carId); }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Доступ к основным претензиям в уровне обслуживания в API приложения Net Core 6
Anonymous » » в форуме C# - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-