ASP.NET에는 액션의 결과물들의 생성을 용이하게 해주는 거나 response data를 포메팅하주는 유용한 set이 있다.
Action result란 무엇인가?
Action result의 종류
///// 상태코드
// 상태코드 결과이다. 실행되면 Status200OK를 리턴한다.
public IActionResult OkResult()
{
return Ok();
}
// 201 response와 loaction header를 포함하고 있는 Action result이다.
// 요청한 자료가 채워져있고 하나 이상의 결과가 새로 생성 되었다는 뜻이다.
public IActionResult CreatedResult()
{
return Created("http://example.org/myitem", new { name = "newitem"});
}
// 204 status code는 보내줄 콘텐츠가 없다는 상태코드이다.
public IActionResult NoContentResult()
{
return NoContent();
}
// 객체로써 실행되면 유저에 의해 잘못 요청된 Bad Requset(400) 결과를 보낸다
public IActionResult BadRequestResult()
{
return BadRequest();
}
// 승인되지 않은 요청이 올 시 401 상태 코드를 보낸다.
public IActionResult UnauthorizedResult()
{
return Unauthorized();
}
// 페이지를 얻을 수 없을때 보내는 가장 흔히 볼 수 있는 404 상태코드를 보낸다
public IActionResult NotFoundResult()
{
return NotFound();
}
// 415코드를 보낸다. 서버가 받은 요청으로 프로세스를 진행 할 수 없을때 나타낸다.
// 현재 요청의 Content-Type이나 Content-Encoding을 조사해서 이 상태코드를 표시한다.
publci IActionResult UnsupportedMediaTypeResult()
{
return new UnsupportMediaTypeResult();
}
//// 리다이렉션
// 응답 상태 코드 301을 사용하여 유저를 외부페이지로 리다이렉트한다.
public IActionResult RedirectResult()
{
return Redirect("https://www.google.com")
}
// 로컬 URL로 리다이렉트한다. 그렇지 못한다면 예외를 발생한다.
public IActionResult LocalRedirectResult()
{
return LocalRedirect("/redirects/target")
}
// 다른 액션으로 리다이렉트 할 수 있다. 인자로 2개를 받는데 하나는 액션 이름, 하나는 컨트롤러 이름이다.
public IActionResult RedirectToActionResult()
{
return RedirectToAction("target", "Appointment")
}