Rest API
Rest API
Rest API
REST API 란 무엇인가요 ?
REST API는 웹에서 데이터를 주고받기 위한 규칙(인터페이스) 입니다.
REST 는 Representational State Transfer 의 줄임말로,
리소스 중심 + HTTP 기반의 통신 방식을 말합니다.
REST의 핵심 개념
요소 | 의미 |
---|---|
리소스 (Resource) | 서버에서 관리되는 데이터 (예: 사용자, 게시글 등) |
URI (경로) | 리소스를 식별하는 주소 (예: /users/1 ) |
HTTP 메서드 | 리소스에 대한 작업 방식 (GET,POST,PUT,DELETE 등) |
상태 없음 (Stateless) | 요청 간에 서버는 클라이언트의 상태를 기억하지 않음 |
계층 구조 | 클라이언트는 중간 서버를 인식할 필요 없이 요청 |
HTTP 메서드와 동작 대응
메서드 | 설명 | 예시 |
---|---|---|
GET | 데이터 조회 | GET /users/1 |
POST | 새 데이터 생성 | POST /users |
PUT | 전체 수정 | PUT /users/1 |
PATCH | 일부 수정 | PATCH /users/1 |
DELETE | 삭제 | DELETE /users/1 |
간단한 REST API 예제 (JSON)
1
2
GET /users/1 HTTP/1.1
Host: example.com
응답:
1
2
3
4
5
{
"id": 1,
"name": "홍길동",
"email": "gildong@example.com"
}
RESTful API 란 ?
“REST한 원칙을 잘 지킨 API”를 RESTful API 라고 합니다.
예를 들어:
- ❌
/getUser?id=1
→ 비 RESTful - ✅
/users/1
→ RESTful
C#에서 REST API 호출 예시
1
2
3
using var client = new HttpClient();
var response = await client.GetAsync("https://api.example.com/users/1");
string result = await response.Content.ReadAsStringAsync();
REST의 장점
- HTTP 기반으로 사용하기 쉬움
- 캐시, 프록시와 친화적
- URL만 봐도 구조 이해 가능
- 다양한 언어/환경에서 호출 가능
REST 설계 시 주의 사항
- 리소스 중심으로 URI 설계 (동사 ❌, 명사 ✅)
/createUser
❌ →/users
+ POST ✅
- 응답은 대부분 JSON 사용
- 에러 시 HTTP 상태 코드 명확히 전달 (예: 404, 400, 500 등)
마무리
REST API 는 웹 시대의 기본 통신 인터페이스 입니다.
개념만 잘 잡으면 누구나 쉽게 설계하고 사용할 수 있습니다.
실무에서는 Swagger, Postman, JWT 등과 함께 자주 쓰입니다.
C# 에서 Rest API 를 간편하게 사용하게 도와주는 Nuget Package 가 있다. Nuget Package, RestSharp
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.