Jak zwrócić określony kod statusu i brak zawartości z kontrolera?
Chcę, aby poniższy przykładowy kontroler zwrócił kod stanu 418 bez zawartości. Ustawienie kodu stanu jest dość łatwe, ale wydaje się, że jest coś, co należy zrobić, aby zasygnalizować koniec żądania. W MVC przed ASP.NET Core lub w WebForms, które może być wywołaniem Response.End()
, ale jak to działa w ASP.NET gdzie Response.End
nie istnieje?
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();
}
}
71
Author: Massimiliano Kraus, 2016-06-08
2 answers
this.HttpContext.Response.StatusCode = 418; // I'm a teapot
Jak zakończyć żądanie?
Spróbuj innego rozwiązania, po prostu:
return StatusCode(418);
Możesz użyć StatusCode(???)
, aby zwrócić dowolny kod statusu HTTP.
Możesz również użyć dedykowanych wyników:
sukces:
-
return Ok()
← kod statusu Http 200 -
return Created()
← kod statusu Http 201 -
return NoContent();
← kod statusu Http 204
Błąd Klienta:
-
return BadRequest();
← Status Http kod 400 -
return Unauthorized();
← kod statusu Http 401 -
return NotFound();
← kod statusu Http 404
Więcej Szczegółów:
- Klasa ControllerBase (Dzięki @ Technetium)
- StatusCodes.cs (consts dostępny w ASP.NET Core)
- kody statusu HTTP na Wiki
- kody statusu HTTP IANA
165
Author: Lukasz Makowej,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-02 19:17:27
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-02 19:17:27
Ten kod może działać dla non-.NET podstawowe Kontrolery MVC:
this.HttpContext.Response.StatusCode = 418; // I'm a teapot
return Json(new { status = "mer" }, JsonRequestBehavior.AllowGet);
0
Author: sobelito,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-11 08:21:07
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-11 08:21:07