Controller 现在具有用于201的CreatedAtRoute()
,用于400的HttpBadRequest()
的功能,等等。我看不到500的一个,我认为它是HttpInternalServerError()
。
但是,可以创建并返回HttpStatusCodeResult
类:
[HttpPost]
public IActionResult Post([FromBody]string something)
{
...
try{
}
catch(Exception e)
{
return new HttpStatusCodeResult((int)HttpStatusCode.InternalServerError);
}
}
但是我想从
e
返回一些信息。这对于现场直播来说可能是不好的做法,但是当我们进行测试时,我们希望从API调用返回的主体中查看错误。HttpStatusCodeResult
不具有object
类型的属性或任何用于提供元数据的属性。该怎么办?我不想返回400,因为这不是内部服务器错误的意思。
最佳答案
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Message describing the error here"));
或者
return InternalServerError(new Exception("SOME CUSTOM MESSAGE"));
关于c# - 如何从ASP.NET 5 Web Api返回HTTP 500?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34206391/