如何返回自定义HTTP状态代码和内容?

use*_*547 3 c# http-status-codes asp.net-core

我有一个用ASP.NET Core编写的WebApi控制器,并希望返回自定义HTTP状态代码以及自定义内容.

我知道:

return new HttpStatusCode(myCode)
Run Code Online (Sandbox Code Playgroud)

return Content(myContent)
Run Code Online (Sandbox Code Playgroud)

我正在寻找以下方面的东西:

return Content(myCode, myContent)
Run Code Online (Sandbox Code Playgroud)

或一些已经建立的机制已经做到了.到目前为止我找到了这个解决方案:

var contentResult = new Content(myContent);
contentResult.StatusCode = myCode;
return contentResult;
Run Code Online (Sandbox Code Playgroud)

是另一种推荐的实现方法吗?

ade*_*lin 8

你可以使用ContentResult:

return new ContentResult() { Content = myContent, StatusCode = myCode };
Run Code Online (Sandbox Code Playgroud)

  • 在 .NET 6.0 中,这看起来像:`re​​turn new ContentResult() { Content = myContent, StatusCode = StatusCodes.Status400BadRequest };` (2认同)