C # Async Task <IActionResult>возвращение объекта - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь использовать интерфейс IActionResult для выдачи определенных исключений.Но в этот момент я застрял на контроллере.Я написал следующий код для получения одного вызова:

    [Route("singlecall")]
    [HttpGet]
    [ProducesResponseType(200, Type = typeof(Models.CallModel))]
    [ProducesResponseType(404)]
    public async Task<IActionResult> GetSingleCall([FromQuery]string callId, [FromQuery] string token)
    {

        CallModel singleCall = await CustomerPortalBC.CallManagementBusiness.CallService.GetSingleCall(new Guid(callId), new Guid(token));

        if (singleCall == null){
            return NotFound();
        }

        return singleCall;
    }

Это (очевидно) не сработает, потому что я не могу просто вернуть объект singleCall.Он ожидает Microsoft.AspNetCore.Mvc.IActionResult.Так что я точно знаю, в чем проблема, я только не знаю, как ее решить.

Любое понимание или помощь будут оценены!

Ответы [ 3 ]

0 голосов
/ 16 января 2019

Пожалуйста, попробуйте:

return Ok(singleCall);

Тогда ваш объект будет правильным HTTP-результатом.

0 голосов
/ 21 марта 2019

Вы также можете вернуть собственное сообщение.

catch (Exception ex)
{
   return Json(new { status = "error", message = ex.InnerException });
}
0 голосов
/ 16 января 2019

Вы хотите return Ok(singleCall);

...