포스트

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 라이센스를 따릅니다.