API???
API란 Application Programming Interface의 약자로
다른 시스템과 데이터를 주고받거나, 프로그램을 실행할 수 있도록 도와주는 역할을 하며, 이를 통해 다양한 서비스를 개발할 수 있다. 특히 인터넷을 기반으로 하는 웹 서비스에서 많이 사용된다.
간단한 예를 들어보자.
GET POST PUT DELETE 에 대한 건 들어봤을 것이다.
GET은 서버로부터 정보를 요청하기 위해 사용된다. 주로 조회 작업에 사용된다. 보통 URL에 파라미터를 포함하여 요청을 보낸다.
POST는 서버에 데이터를 전송하기 위해 사용된다. 주로 생성 작업에 사용된다. 클라이언트가 서버로 데이터를 전송하고 서버는 데이터를 받아 처리하고 응답한다.
PUT은 서버에 존재하는 데이터를 수정하기 위해 사용된다. 클라이언트가 서버로 전송한 데이터를 기반으로 서버의 데이터를 수정한다.
DELETE는 서버에 있는 데이터를 삭제하기 위해 사용된다. 클라이언트가 서버로 삭제할 데이터의 URL을 전송하면 서버는 그 데이터를 삭제 처리하고 응답한다.
서버에서 하는 일은?
보통 서버에서 request를 처리하기 위해 프로그래밍 언어와 백엔드 프레임워크를 사용해서 다양한 종류의 요청들을 어떻게 처리할 것인지 코드를 짠다.
예를 들어 post 타입의 /orders 경로를 요청하면 주문 내역을 생성하고 데이터베이스에 저장한다. 그리고 주문이 처리됐다고 응답한다.
get 타입에 /orders 경로를 요청하면 데이터베이스에서 과거에 주문했던 내역을 가져온다. 그리고 그것을 응답으로 보낸다
delete 타입에 /orders 경로를 요청해오면 주문을 취소하고 삭제한다.
이렇게 서버가 처리할 수 있는 요청들을 API라고 하는 것.
API는 백엔드 프로그래밍에서 매우 중요한 개념이다.
REST
그런데 우리는 왜 주문 요청을 처리하는 API를 만들 때 POST로 타입을 정하고 URL PATH로 /orders라는 이름으로 지었을까?
일종의 약속이다. 말하자면 url path에 이름을 짓는 약속이다. 바로 이 규칙을 REST라고 한다.
API는 API인데 REST 규칙을 따르는 것을 REST API라 한다.
REST 규칙
- 자원(Resource)은 동사보다 명사를 대문자보다 소문자를 사용한다.
- 자원은 도큐먼트 이름으로는 단수 명사를 사용한다.
- 자원은 컬렉션 이름으로는 복수 명사를 사용한다.
- HTTP Method(GET, POST, PUT, DELETE 등)으로 표현한다.
REST 규칙을 지킨 예시 REST API를 보면
EX)
GET /users 로 사용자 정보를 조회하고
POST /users 로 사용자를 생성한다.
PUT /users/{userId} 로 사용자를 수정하고
DELETE /users/{userId} 로 사용자를 삭제한다.
'웹개발 이모저모' 카테고리의 다른 글
Leaflet.js와 VWorld API로 2D 지도 만들기 (1) | 2025.05.15 |
---|---|
SSR vs CSR (0) | 2025.02.04 |