IActionResult 유형 HTTP 상태 코드 설명 일반적인 사용 예시
Ok() 200 OK 요청이 성공적으로 처리되었음을 나타냅니다. 주로 조회(GET) 요청 성공 시 데이터와 함께 반환됩니다. return Ok(data); (데이터 조회 성공)
CreatedAtAction() 201 Created 리소스(자원)가 성공적으로 생성되었음을 나타냅니다. 생성된 리소스의 URI와 함께 해당 리소스의 본문(Body)을 반환하는 것이 RESTful 관례입니다. return CreatedAtAction(nameof(GetById), new { id = newResourceId }, newResourceObject); (새로운 사용자 등록 성공)
NoContent() 204 No Content 요청은 성공적으로 처리되었지만, 반환할 본문(Body) 내용이 없음을 나타냅니다. 주로 업데이트(PUT/PATCH)나 삭제(DELETE) 요청 성공 시 사용됩니다. return NoContent(); (리소스 업데이트/삭제 성공)
BadRequest() 400 Bad Request 클라이언트의 요청이 유효하지 않음을 나타냅니다. 주로 모델 유효성 검사(ModelState.IsValid) 실패, 필수 데이터 누락, 잘못된 형식 등에 사용됩니다. return BadRequest(ModelState); (사용자 입력 유효성 검사 실패)
Unauthorized() 401 Unauthorized 클라이언트가 요청된 응답을 받으려면 인증(Authentication)이 필요함을 나타냅니다. 로그인되지 않았거나 유효하지 않은 토큰으로 보호된 리소스에 접근 시 반환됩니다. return Unauthorized(); (유효하지 않은 인증 자격 증명)
Forbid() 403 Forbidden 클라이언트가 인증되었지만, 요청된 리소스에 접근할 권한(Authorization)이 없음을 나타냅니다. (예: 일반 사용자가 관리자 전용 기능에 접근 시) return Forbid(); (권한 부족)
NotFound() 404 Not Found 요청된 리소스를 서버에서 찾을 수 없음을 나타냅니다. 주로 ID에 해당하는 리소스가 없을 때 반환됩니다. return NotFound(); (ID에 해당하는 제품을 찾을 수 없음)
Conflict() 409 Conflict 요청이 리소스의 현재 상태와 충돌하여 완료될 수 없음을 나타냅니다. 주로 데이터베이스에서 중복된 값(예: 이미 존재하는 사용자 이름/이메일)을 생성하려 할 때 사용됩니다. return Conflict("이미 사용 중인 사용자 이름입니다."); (회원 가입 시 중복 아이디)
InternalServerError() 500 Internal Server Error 서버가 요청을 처리하는 과정에서 예상치 못한 오류가 발생했음을 나타냅니다. 개발자가 직접 반환하기보다는, 예외 발생 시 ASP.NET Core 미들웨어에 의해 자동으로 반환되는 경우가 많습니다. (일반적으로 try-catch 블록 내에서 throw하거나 커스텀 에러 핸들링 미들웨어에서 처리)

 

728x90
반응형

+ Recent posts