반응형
이번 글에서는 REST API를 어떻게 설계해야 하는지와, 실제로 서버와 클라이언트가 주고받는 Request & Response 흐름을 함께 살펴보겠습니다.
0. REST API란?
- REST(Representational State Transfer): 웹에서 자원을 다루는 아키텍처 스타일
- API(Application Programming Interface): 프로그램 간 데이터를 주고받는 약속
즉, REST API = 자원을 HTTP 규칙에 따라 주고받는 방식입니다.
1. REST API 설계 원칙
- 자원(Resource) 중심의 URL
- ❌ 잘못된 예시:
/getUserInfo - ✅ 올바른 예시:
/users/1
- ❌ 잘못된 예시:
- HTTP 메서드 활용
GET→ 조회POST→ 생성PUT→ 수정DELETE→ 삭제
- 일관된 상태 코드 사용
| 상태 코드 | 상태 | 의미 |
| 200 | OK | 정상 처리 |
| 201 | Created | 새 데이터 생성됨 |
| 400 | Bad Request | 잘못된 요청 |
| 404 | Not Found | 자원 없음 |
| 500 | Internal Server Error | 서버 오류 |
- ※ 이 코드들은 대표적인 Http 상태 코드이고 실제로 401, 403 등 Error관련 코드를 사용하는 등 더 다양하게 사용합니다. 그래서 Exception처리에서 Custom을 하여 사용하는 경우가 많습니다.
- 표준 응답 형식 (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는 “요청에 대한 결과”를 알려줌
반응형
'Backend > Study' 카테고리의 다른 글
| [Study] 서버 다운 없이 배포하는 방법 (무중단 배포) (0) | 2025.09.30 |
|---|---|
| [Study] Nginx 리버스 프록시 설정 예제 (502/504 에러 해결) (0) | 2025.09.29 |
| [Study] Redis 캐시 적용 방법 (Spring Boot 실전 예제) (0) | 2025.09.25 |
| [Study] JPA vs MyBatis 비교 – 언제 어떤 걸 써야 할까 (0) | 2025.09.24 |
| [Study] Spring Boot 프로젝트 설정 방법 (0) | 2025.09.22 |