FairyFox5700
@FairyFox5700

Как обернуть ответы в web Api .Net Core, так чтобы в случае без ошибок получать данные, а с ошибками информацию об ошибке?

Суть вопроса состоит в том, что сейчас я возвращаю IActionResult в своим методах
Например:
// GET /api/Person
        [HttpGet]
        public async Task<ActionResult<IEnumerable<PersonDTO>>> GetAllPersons()
        {
            var persons = await personService.GetAllPersons();
            logger.LogInformation("Successfully returned all persons");
            return persons;
        }

А также проверяю модель на валидность
Но в случае ошибки во многих местах код повторяется и я могу выводить только статусный код, что не очень удобно:
if (id != person.Id)
            {
                return BadRequest();
            }
 или
if(ModelState.IsValid)
{
//что-то там
}

Есть ли варианты как это можно сделать лучше. Возможно добавить фильтры или generic ответы?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
Во-первых забудь про возвращение через таск какой-то там иенумерэйбл. Используй IActionResult и только его.
В нем же, ты можешь успешно выбрасывать либо return Ok("Сообщение от сервака, бла бла"), либо return Badrequest("Что-то пошло не так" + error.Message).
Думаю, дальше разберёшься. Если что пиши. Всегда рад помочь.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы