목차
1. Application Programming Interface
API 맥락에서 애플리케이션은 고유한 기능을 가진 소프트웨어이다.
인터페이스는 두 애플리케이션 간의 서비스 계약이고, 위의 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다.
API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다.
∴ API란?
- 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법(=코드)
- API = 메뉴판
- 커스터마이징 없이, 적힌 메뉴 그대로 주는 것
- 메뉴판을 만들어두어야 사용자가 알고 주문할 수 있음

2. API가 가져야 할 내용
1. 요청방식(method) : 데이터를 요청할 것인지 응답할 것인지
2. 무슨 자료 요청할지(endpoint) : 어떤 데이터를 요청할 것인지. 웹툰? 댓글? 뉴스? 등
3. 자료요청에 필요한 추가정보 : 내 아이디, 이름, 몇 화보고 싶은지 이런 거
+4. 웹의 경우 REST API라는 원칙에 따라 작성하면 좋음
3. REST API( Representational State Transfer)
REST는 클라이언트가 서버 데이터에 액세스 하는 데 사용할 수 있는 GET, PUT, DELETE 등 함수 집합을 정의한다. 클라이언트와 서버는 HTTP를 사용하여 데이터를 교환한다.
오늘날 웹에서 가장 많이 사용되고 있는 유연한 API이다. 클라이언트가 서버에 요청을 데이터로 전송하면, 서버가 클라이언트의 입력을 사용하여 내부 함수를 시작하고 출력 데이터를 다시 클라이언트에 반환한다.
최신 웹 API는 REST API이며 용어는 서로 바꿔 사용할 수 있다.
- REST API 장점
- 통합: 새로운 애플리케이션을 기존 SW 시스템과 통합하는데 기존 코드를 활용해 개발 속도가 빨라짐
- 혁신: 전체 코드를 다시 작성할 필요 없이 API 수준에서 변경하여 수행 가능
- 확장
- 유지 관리 용이성: API가 두 시스템 간의 게이트웨이 역할을 하여 API가 영향을 받지 않도록 각 시스템을 내부적으로 변경. 이렇게 하면 향후 코드 변경이 다른 시스템에 영향을 미치지 않음
4. API 유형
- public / private / partner API
- public: 누구나 사용가능한 공개 API
- private: 기업 내부에서 API
- partner: 권한이 부여된 외부 개발자만 액세스할 수 있는 API
- 모든 프로그램은 API를 가질 수 있다.
- windows API: 윈도 운영체제 기능들 사용 가능
- Database 관리프로그램 API: DB 입출력 기능들 사용가능
- API로 만드는 비즈니스 모델
- URL 축약 API, 실시간 환율 API, IP 위치추적 API, 날씨 API
728x90
'Misc > 백엔드' 카테고리의 다른 글
| NodeJs Backend REST API (3) - Prisma (0) | 2024.07.13 |
|---|---|
| NodeJs Backend REST API (2) - Fastify (0) | 2024.07.03 |
| NodeJs Backend REST API (1) - Typescript (0) | 2024.07.03 |
| HTTP (0) | 2024.06.25 |
| 백엔드의 전체 흐름 (0) | 2024.06.24 |