1. HTTP 응답(반환) 코드
(1) 2xx : 성공 의미
- 200 : 요청 성공, 응답 데이터 포함 (*web1에서는 200만 사용)
- 201 : 요청 성공 + 저장 성공 의미 포함
- 202 : 요청 성공, 아직 처리 중 (비동기 작업)
- 204 : 요청 성공, 응답 데이터 없음
(2) 3xx : 리다이렉션 (URL 이동)
- 301 : 요청한 정보가 다른 URL로 영구 이동
- 302 : 임시적으로 다른 URL로 이동
- 304 : 캐시(임시 저장소) 사용 → 빠른 조회
(3) 4xx : 클라이언트 오류
- 400 : 요청 형식 오류 (쿼리스트링, BODY 값 등 잘못됨)
- 401 : 인증 실패 (로그인 안됨)
- 403 : 접근 권한 없음 (권한 거부)
- 404 : 요청한 경로/자원/URL 없음
- 405 : HTTP Method 잘못 사용 (예: GET 대신 POST 요청)
- 409 : 자료 중복 (아이디 중복 등)
- 415 : Content-Type 잘못됨 (ex. 오타)
(4) 5xx : 서버 오류
- 500 : 서버(Spring/Java) 내부 오류
- 503 : 서버 과부하 (스레드 폭주 등)
2. 스프링에서 HTTP 응답코드 반환
(1) ResponseEntity
- 정의 : HTTP 응답 상태코드 + 응답 데이터(body)를 함께 반환하는 클래스
- 제네릭 T : 응답 데이터의 타입 (기본타입 사용 불가 → Wrapper 클래스, DTO 등 사용)
- 특징 : Controller 메소드에서 사용
(2) 사용법
ResponseEntity<Integer> method2(){
return ResponseEntity.status(200).body(1);
}
ResponseEntity<MemberDto> method2(){
return ResponseEntity.status(200).body(memberDto);
}