小编典典

如何从控制器返回特定的状态码并且没有内容?

all

我希望下面的示例控制器返回没有内容的状态代码 418。设置状态码很容易,但似乎需要做一些事情来表示请求的结束。在 ASP.NET Core 之前的 MVC
或 WebForms 中可能会调用但它在不存在Response.End()的 ASP.NET Core 中如何工作?Response.End

public class ExampleController : Controller
{
    [HttpGet][Route("/example/main")]
    public IActionResult Main()
    {
        this.HttpContext.Response.StatusCode = 418; // I'm a teapot
        // How to end the request?
        // I don't actually want to return a view but perhaps the next
        // line is required anyway?
        return View();   
    }
}

阅读 92

收藏
2022-08-24

共1个答案

小编典典

this.HttpContext.Response.StatusCode = 418; // I'm a teapot

如何结束请求?

尝试其他解决方案,只需:

return StatusCode(418);

您可以使用它StatusCode(???)来返回任何 HTTP 状态代码。

此外,您可以使用专用结果:

成功:

  • return Ok()③http状态码200
  • return Created()③http状态码201
  • return NoContent();③http状态码204

客户端错误:

  • return BadRequest();③http状态码400
  • return Unauthorized();③http状态码401
  • return NotFound();③http状态码404

更多细节:

2022-08-24