Какой уровень должен отвечать за выдачу исключений в asp. net core web api - PullRequest
0 голосов
/ 05 августа 2020

Должен ли шаблон репозитория выдавать ошибку, если данные не извлекаются? Я не уверен, что следует или следует вводить уровень обслуживания

  1. Просмотр

  2. Контроллер

  3. Шаблон репозитория

  4. Ядро EF

     public async Task<Customer> GetCustomerById(int id)
     {
         var result = await _dataContext.Customers.FirstOrDefaultAsync(a => a.Id == id);
    
         if (result == null)
         {
             throw new KeyNotFoundException("Customer Not Found");
         }
    
         return result;
     }
    

1 Ответ

1 голос
/ 05 августа 2020

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

...