2025년 9월 9일 화요일(74일차)

Jeonghoon·2025년 9월 9일

jeonghoon's Study

목록 보기
75/128

🌐 HTTP 응답(반환) 코드 정리

서버(Spring)가 클라이언트의 요청 처리 결과를 숫자로 응답하는 코드입니다.


📡 주요 HTTP 상태 코드

구분상태 코드의미설명
2XX (성공)200OK요청 성공 + 응답 데이터 존재
201Created요청 및 저장 성공
202Accepted요청 승인, 아직 처리 중 (비동기 처리 시 사용)
204No Content요청 성공하지만 응답 데이터 없음 (String, void 등)
3XX (리다이렉션)301Moved Permanently요청 자원이 영구적으로 다른 URL로 이동
302Found임시적으로 다른 URL로 이동
304Not Modified캐시(임시저장된 데이터) 사용, 빠른 조회 가능
4XX (클라이언트 오류)400Bad Request요청 형식 오류 (쿼리스트링, body 등)
401Unauthorized인증 실패
403Forbidden권한 없음 (접근 거부)
404Not Found요청한 경로 또는 자원 없음
405Method Not AllowedHTTP 메서드 오류
409Conflict요청한 자료가 중복
415Unsupported Media TypeContent-Type 오류
5XX (서버 오류)500Internal Server Error서버(Spring/Java 내부) 오류
503Service Unavailable서버 과부하 또는 점검 중

📨 HTTP 응답 코드 전송하기 (Spring)

✅ ResponseEntity 클래스

Spring에서는 HTTP 상태 코드 + 응답 본문을 함께 전송하기 위해 ResponseEntity<T> 클래스를 사용합니다.

항목설명
클래스명ResponseEntity<T>
제네릭 타입응답 바디의 타입(<T>) 지정 ex) ResponseEntity<MemberDto>
사용 목적프론트엔드 개발자가 응답 코드를 기반으로 상태를 쉽게 파악하기 위함

💻 예시 코드

// Controller 내부 예시
public ResponseEntity<MemberDto> getMember() {
    MemberDto dto = new MemberDto();
    // 응답 코드 + 본문 동시 반환
    return ResponseEntity.status(200).body(dto);
}

🧩 제네릭 타입 (Generic Type)

항목설명
정의클래스의 멤버 변수 타입을 객체 생성 시점에 지정하는 문법
특징클래스 설계 시 타입을 고정하지 않아, 여러 자료형에 유연하게 적용 가능
제한 사항기본 타입(int, double 등)은 사용 불가능 → Wrapper 클래스로 대체

🧱 기본 타입 vs 참조 타입 vs Wrapper 클래스

구분타입예시
기본 타입원시형 (Primitive type)byte, short, int, long, float, double, char, boolean
참조 타입객체/배열/인터페이스String, ArrayList, Map
Wrapper 클래스기본 타입을 객체로 변환Integer, Double, Boolean, Character

💡 예시: ResponseEntity<Integer> 와 같이 Wrapper 타입으로 제네릭을 지정해야 함.


🧠 Selenium

  • Selenium 관련 예제는 Web_Spring2 → Day05에서 확인 가능
  • 웹 자동화 테스트 및 크롤링 도구로, Spring과 함께 테스트 자동화에 자주 사용됨.

0개의 댓글