我正在使用ASP.NET Core。我正在创建一个基本的webapi。
有问题时,我想显示JSON错误。
屏幕上显示我想要的打印屏幕。
唯一的问题是它发送的状态码为200。
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/