我希望下面的示例控制器返回没有内容的状态代码 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();
}
}
this.HttpContext.Response.StatusCode = 418; // I'm a teapot
如何结束请求?
尝试其他解决方案,只需:
return StatusCode(418);
你可以使用StatusCode(???)
返回任何 HTTP 状态代码。
此外,您还可以使用专用结果:
Success:
-
return Ok()
← HTTP 状态码 200
-
return Created()
← HTTP 状态码 201
-
return NoContent();
← HTTP 状态码 204
客户端错误:
-
return BadRequest();
← HTTP 状态码 400
-
return Unauthorized();
← HTTP 状态码 401
-
return NotFound();
← HTTP 状态码 404
更多细节:
-
控制器基类(感谢@Technetium)
-
状态代码.cs(ASP.NET Core 中可用的常量)
- Wiki 上的 HTTP 状态代码
- HTTP 状态代码 IANA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)