Использование .net core web api здесь.
У меня есть конечная точка в API, как:
[HttpPost("data")]
public async Task<IActionResult> PostData(List<string> udata)
{
JArray sets = new JArray();
try
{
sets = Helper.GetData(udata);
}
catch (Exception e)
{
return StatusCode(500, e.Message);
}
}
Выше я вызываю специальный метод в моем помощнике «GetData», который выполняет всю обработку и вычисления. Чтобы очистить контроллер Api, я перенес всю обработку в этот вспомогательный метод.
Ниже мой класс помощника:
public static class Helper
{
public static BadRequestObjectResult GetMessage(string message)
{
return new BadRequestObjectResult(message);
}
public static JArray GetData(List<string> udata)
{
if(udata == null)
return GetMessage("Data is null");
//do some processing and calclulations here
//return BadRequest if some issue
}
}
Если есть какая-то проблема с обработкой или некоторые данные не соответствуют назначению, или какая-то другая проблема, я хочу выдать BadRequest. Для этого я сделал специальный метод для этого "BadRequestObjectResult".
Теперь моя проблема в том, что если есть проблема в GetData, она не возвращает обратно в мой API или выходит из моего цикла. Это просто продолжается до следующего утверждения.
Я знаю, что есть какая-то проблема, когда я возвращаю ее, но не могу найти проблему.
Кто-нибудь может указать правильный способ справиться с этим?