반응형
특정 상태 코드를 반환하고 Controller에서 내용이없는 방법은 무엇입니까?
아래 예제 컨트롤러가 내용없이 상태 코드 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 상태 코드를 반환하는 데 사용할 수 있습니다 .
또한 전용 결과를 사용할 수 있습니다.
성공:
return Ok()
← HTTP 상태 코드 200return Created()
← HTTP 상태 코드 201return NoContent();
← HTTP 상태 코드 204
클라이언트 오류 :
return BadRequest();
← HTTP 상태 코드 400return Unauthorized();
← HTTP 상태 코드 401return NotFound();
← HTTP 상태 코드 404
자세한 내용은:
- ControllerBase 클래스 (@Technetium에게 감사드립니다)
- StatusCodes.cs (ASP.NET Core에서 사용 가능)
- Wiki의 HTTP 상태 코드
- HTTP 상태 코드 IANA
누구든지 IHttpActionResult
웹 API 프로젝트에있을 수 있습니다. 아래가 도움이 될 수 있습니다.
// GET: api/Default/
public IHttpActionResult Get()
{
//return Ok();//200
//return StatusCode(HttpStatusCode.Accepted);//202
//return BadRequest();//400
//return InternalServerError();//500
//return Unauthorized();//401
return Ok();
}
이 코드는 비 .NET Core MVC 컨트롤러에서 작동 할 수 있습니다.
this.HttpContext.Response.StatusCode = 418; // I'm a teapot
return Json(new { status = "mer" }, JsonRequestBehavior.AllowGet);
반응형
'programing' 카테고리의 다른 글
Linux는 주어진 문자열로 파일 이름을 찾습니다. (0) | 2020.08.23 |
---|---|
프로그래밍 언어에서 구문과 의미의 차이점은 무엇입니까? (0) | 2020.08.23 |
Scala의 케이스 클래스에 대한 오버로드 생성자? (0) | 2020.08.23 |
PostgreSQL 쿼리의 일부로 정수를 문자열로 어떻게 변환합니까? (0) | 2020.08.23 |
파이썬에서 캐럿 연산자 (^)는 무엇을합니까? (0) | 2020.08.23 |