| 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
반응형