본문 바로가기

Backend/Study

[Study] REST API 설계 원칙과 Request/Response 이해하기

반응형

이번 글에서는 REST API를 어떻게 설계해야 하는지와, 실제로 서버와 클라이언트가 주고받는 Request & Response 흐름을 함께 살펴보겠습니다.


0. REST API란?

  • REST(Representational State Transfer): 웹에서 자원을 다루는 아키텍처 스타일
  • API(Application Programming Interface): 프로그램 간 데이터를 주고받는 약속
    즉, REST API = 자원을 HTTP 규칙에 따라 주고받는 방식입니다.

1. REST API 설계 원칙

  1. 자원(Resource) 중심의 URL
    • ❌ 잘못된 예시: /getUserInfo
    • ✅ 올바른 예시: /users/1
  2. HTTP 메서드 활용
    • GET → 조회
    • POST → 생성
    • PUT → 수정
    • DELETE → 삭제
  3. 일관된 상태 코드 사용
상태 코드 상태 의미
200 OK 정상 처리
201 Created 새 데이터 생성됨
400 Bad Request 잘못된 요청
404 Not Found 자원 없음
500 Internal Server Error 서버 오류
    ※ 이 코드들은 대표적인 Http 상태 코드이고 실제로 401, 403 등 Error관련 코드를 사용하는 등 더 다양하게 사용합니다. 그래서 Exception처리에서 Custom을 하여 사용하는 경우가 많습니다.
  1. 표준 응답 형식 (JSON 권장)
    { "id": 1, "name": "홍길동", "email": "hong@test.com" }

2. Request & Response 흐름

1. 클라이언트 → 서버 (Request)

GET /users/1 HTTP/1.1 Host: localhost:8080

2. 서버 → 클라이언트 (Response)

HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "name": "홍길동", "email": "hong@test.com" }

=> 이런 과정을 통해 브라우저나 앱이 서버와 데이터를 주고받습니다.


3. 정리

  • REST API는 일관성, 명확성, 표준 준수가 핵심
  • Request는 “무엇을 원하는지”를 전달
  • Response는 “요청에 대한 결과”를 알려줌
반응형