C# 异步任务 <IActionResult> return 对象

C# Async Task <IActionResult> return Object

我正在尝试使用 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;
    }

这(显然)不起作用,因为我不能只 return singleCall 对象。它期望 Microsoft.AspNetCore.Mvc.IActionResult。所以我很清楚是什么问题,只是不知道怎么解决。

如有任何见解或帮助,我们将不胜感激!

您想return Ok(singleCall);

请尝试:

return Ok(singleCall);

您的对象将是正确的 HTTP 结果。

您还可以return自定义消息。

catch (Exception ex)
{
   return Json(new { status = "error", message = ex.InnerException });
}