1️⃣ API 개요
- API (Application Programming Interface)
소프트웨어끼리 상호작용을 가능하게 해주는 인터페이스
프로그램과 프로그램 중간 매개체 역할
- 웹 API
클라이언트가 요청을 보내고, 서버가 응답을 돌려주는 명세(URL, HTTP Method, 응답 포맷 등)
REST API, GraphQL, SOAP 등 다양한 스타일 존재
2️⃣ REST API 개요
REST (Representational State Transfer)
- 웹의 기본 원칙과 구조를 기반으로 한 아키텍처 스타일
- 자원(Resource)을 URI로 명시하고, HTTP Method로 자원의 상태를 전송
REST API 특징
URI (Uniform Resource Identifier)
- 자원의 고유 경로 지정 (예:
/article/12)
HTTP Method
- 자원에 대한 행위 정의
- GET: 조회
- POST: 생성
- PUT: 수정
- DELETE: 삭제
무상태성 (Stateless)
- 서버는 각 요청을 독립적으로 처리
- 세션/쿠키 최소화, 확장성↑
JSON 데이터
- RESTful 서비스는 JSON 형식으로 응답
RESTful 서비스 예시
| 동작 |
전통적 Web URL |
REST API |
| 등록 |
POST /write |
POST /article |
| 목록 |
GET /list |
GET /article |
| 보기 |
GET /view?no=12 |
GET /article/12 |
| 수정 |
POST /modify |
PUT /article/12 |
| 삭제 |
GET /delete?no=12 |
DELETE /article/12 |
3️⃣ Spring RESTful