feat(api, domain, core): Глобальные модели ошибок. ConfigureValidator - валидатор контроллеров. GlobalExceptionHandler - глобальный обработчик ошибок в API.

This commit is contained in:
Mikhail Trubnikov
2026-05-19 16:19:55 +10:00
parent c0148088c1
commit d8af0253b1
10 changed files with 236 additions and 33 deletions

View File

@@ -84,27 +84,11 @@ namespace PARR.API.Controllers.V1.Statistics
InitiatorComment = "Отправлен запрос из API на формирование отчета о загруженности"
};
//todo: избавиться от try/catch
var queueSettings = taskMqSettingsProvider.GetSettings(TaskTypeEnum.Workload);
try
{
//mqSettings.Tasks.TryGetValue(TaskTypeEnum.Workload, out var queueSettings);
var taskId = await taskManagementService.CreateTaskAsync<object?>(TaskTypeEnum.Workload, default, initiator, queueSettings);
//if (queueSettings == null)
//{
// logger.LogError("Не удалось получить настройки очереди для TaskType: {TaskType}", TaskTypeEnum.Workload);
// throw new InvalidOperationException($"Не удалось получить настройки очереди для TaskTypeEnum.Workload");
//}
var queueSettings = taskMqSettingsProvider.GetSettings(TaskTypeEnum.Workload);
var taskId = await taskManagementService.CreateTaskAsync<object?>(TaskTypeEnum.Workload, default, initiator, queueSettings);
return Ok(new Response<string?>(null, true, null!, $"Создана задача {taskId} на формирование отчета"));
}
catch (Exception ex)
{
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = ex.Message } }));
}
return Ok(new Response<string?>(null, true, null!, $"Создана задача {taskId} на формирование отчета"));
}
@@ -123,7 +107,6 @@ namespace PARR.API.Controllers.V1.Statistics
}
/// <summary>
/// Универсальный метод получения отчетности
/// </summary>