如何从ASP.NET 5 Web Api返回HTTP 500
本文关键字:Api 返回 HTTP Web ASP NET | 更新日期: 2023-09-27 18:26:18
控制器现在有函数CreatedAtRoute()
用于201,HttpBadRequest()
用于400等。我没有看到一个用于500的函数,我认为它是HttpInternalServerError()
。
然而,我可以创建并返回HttpStatusCodeResult
类:
[HttpPost]
public IActionResult Post([FromBody]string something)
{
...
try{
}
catch(Exception e)
{
return new HttpStatusCodeResult((int)HttpStatusCode.InternalServerError);
}
}
但我想从e
返回一些信息。对于live来说,这可能是一种糟糕的做法,但当我们进行测试时,我们希望看到API调用的返回主体中的错误。
HttpStatusCodeResult
不具有object
类型的属性或任何用于提供元数据的属性。
该怎么办?我不想返回400,因为这不是内部服务器错误的含义。
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Message describing the error here"));
或
return InternalServerError(new Exception("SOME CUSTOM MESSAGE"));