每当我尝试在c#asp.net核心中调用自定义api函数时,我都会收到错误。 我得到的错误代码
无法将类型MnrtPortal.Helpers.CustomApiResponse隐式转换为Microsoft.AspNetCore.Mvc.IActionResult,并且存在显式转换。
[Route("api/User")]
public IActionResult User()
{
var user = new
{
Name = "Joshua",
Age = 40
};
// return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
return CustomApiResponse.Create(200,user,"success");
}
答案 0 :(得分:1)
CustomApiResponse
未实现IActionResult
,因此您无法在返回IActionResult
的方法中直接返回它。很直接。
您可以将操作的返回类型更改为CustomApiResponse
,这应触发默认序列化程序(JSON)并从中创建JsonResult
。或者您可以简单地将对象包装在OkObjectResult
中,这将具有相同的效果。
return Ok(CustomApiResponse.Create(200,user,"success"));
最后,如果您愿意,可以明确地返回JsonResult
:
return Json(CustomApiResponse.Create(200,user,"success"));