4
votes

Objet de retour de tâche C # Async

J'essaye d'utiliser l'interface IActionResult pour lancer des exceptions spécifiques. Mais en ce moment, je suis coincé au contrôleur. J'ai écrit le code suivant pour obtenir un seul appel:

    [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;
    }

Cela ne fonctionnera (évidemment) pas, car je ne peux pas simplement renvoyer l'objet singleCall. Il attend un Microsoft.AspNetCore.Mvc.IActionResult. Donc, je sais exactement quel est le problème, je ne sais pas comment le résoudre.

Toute idée ou aide serait appréciée!


0 commentaires

3 Réponses :


4
votes

Vous voulez renvoyer Ok (singleCall);


1 commentaires

Eh bien, c'était une solution facile. Je vous remercie :)



2
votes

Veuillez essayer:

return Ok(singleCall);

Votre objet sera alors le résultat HTTP approprié.


0 commentaires

0
votes

Vous pouvez également renvoyer un message personnalisé.

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


0 commentaires