C#异步任务<iactionresult>返回对象

时间:2019-01-16 12:41:44

标签: c# asp.net actionresult

我试图利用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 :(得分:2)

您要return Ok(singleCall);

答案 1 :(得分:1)

请尝试:

return Ok(singleCall);

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

答案 2 :(得分:0)

您还可以返回自定义消息。

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