我正在使用ASP.NET Core。我正在创建一个基本的webapi。
有问题时,我想显示JSON错误。

屏幕上显示我想要的打印屏幕。
唯一的问题是它发送的状态码为200。

c# - ASP.Net核心错误JSON-LMLPHP

catch (NullReferenceException e)
{
    return Json(NotFound(e.Message));
}


我可以这样解决:

return NotFound(new JsonResult(e.Message) {StatusCode = 404);


但是我不喜欢这样,因为现在您可以使用NotFound指定状态码500。

有人可以把我带到正确的方向吗?

真诚的
布雷希特

最佳答案

你不能做类似return NotFound(e.Message);的事情吗

否则,您可能有自己的错误文档格式,请使用return NotFound(new ErrorDocument(e.message));

如果必须返回JsonResult,请执行以下操作:

return new JsonResult(YourObject) { StatusCode = (int)HttpStatusCode.NotFound };


现在,您可以完全控制响应格式和状态代码。如果需要,您甚至可以附加序列化程序设置。 :)

关于c# - ASP.Net核心错误JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39353016/

10-10 04:36