API(Application Programming Interface)는
소프트웨어가 다른 소프트웨어로부터 지정된 형식으로 요청, 명령을 받을 수 있는 수단이다.
REST API
REST API는 데이터를 주고받을 때, 개발자들 사이에서 널리 쓰이는 형식이다.
- REST란 형식의 API
- 과거의 SOAP이란 복잡한 형식을 대체한다.
REST API 특징
각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론 가능하다.
✅ RESTful하게 만든 API는 요청을 보내는 주소만으로도 어떤 요청(CRUD)인지 파악 가능하다.
https://(도메인)/classes
// 반 목록을 받아온다.
https://(도메인)/classes/2
// index가 2인 반의 정보를 받아온다.
https://(도메인)/classes/2/students
// index가 2인 반의 학생들 정보를 받아온다.
➰자원(데이터)을 구조와 함께 나타내는 이런 형식의 구분자를 URI라고 한다.
REST API와 HTTP메소드
서버에 REST API로 요청을 보낼 때는 HTTP라는 규약에 따라 신호를 전송한다.
HTTP로 요청을 보낼 때 다양한 메서드를 사용하는데, 쓰임(CRUD)에 따라 다음과 같이 구분 가능하다.
GET | Read, 데이터를 조회하는데 사용한다. |
DELETE | Delete |
POST | Create, 새로운 정보를 추가하는데 사용한다. |
PUT | Update, 정보를 통째로 갈아끼울 때 |
PATCH | Update, 정보 중 일부를 특정 방식으로 변경할 때 사용 |
이 중 POST, PUT, PATCH는 'body'라는 주머니가 있어서, GET이나 DELETE보다 더 많은 정보를 비교적 안전하게 보낼 수 있다.
✅ REST API란, HTTP요청을 보낼 때 어떤 URI에 어떤 메소드를 사용할지 개발자들 사이에 널리 지켜지는 약속이다.
URI 설계하기
URI는 동사가 아닌 명사들로 이뤄져야 한다.
영화 소개 사이트를 만든다고 가정해 보자.
https://abc.com/movies/inception
<!-- query parameter 사용하기 -->
https://abc.com/movies?min_rating=9.8
https://abc.com/movies?release_date=2021
https://abc.com/movies?page=2
https://abc.com/movies ( Collection )
https://abc.com/movies/inception ( Unique indentifier, 고유식별자 )
✅ HTTP methods를 활용해서 인터랙션 할 수 있다.
query parameter 사용하기
query parameter 사용하면 api에 pagination을 추가할 수 있다.
🚀 참고
➰ 더 공부할 것
- graphQL
'Tech' 카테고리의 다른 글
[API] API - 개념과 사용 (0) | 2023.01.31 |
---|
댓글