API란 클라이언트가 서버에게 특정 정보를 받기 위해 사용하는 규칙? 메서드? 방법? 을 뜻한다.
우리가 주로 사용하는 API는 RESTful API를 사용한다.
RESTful API?
RESTful API란 REST API라고도 하며 특정 프레임워크(도구)가 아닌 API의 아키텍쳐 스타일을 말한다.
이 스타일이란 서버 클라이언트간에 CRUD를 사용하여 데이터 처리를 하고 비동기성이며, 자원기반으로 작동한다.
이 REST API를 구성하기 위해 가장 유명한 fast API와 Flask라는 프레임 워크를 사용하는데 둘다 파이썬 기반의 프레임 워크이다.
(참고로 REST API는 JAVA기반의 Spring Boot로도 만들 수 있음. 따라서 다양한 언어와 프레임워크로 가능)
둘 사이의 차이는 따로 설명하지 않고, fast API 기준으로 설명하면 REST API를 가장 쉽고 직관적으로 설계할 수 있는 프레임워크이다.
간단한 사용 흐름
1. 파이썬 파일에서 fast API 프레임 워크를 import
|
2. app = FastAPI() 같이 설계 도구가 들어있는 객체를 만들고 함수들을 만들어서 CRUD 기반의 기능들을 정의한다.
|
3. uvicorn 파이썬파일이름:app --reload 명령어를 사용하여 Fast API 서버를 실행함과 동시에 정의한 API코드들을 클라이언트가 사용할 수 있도록 서버에 올린다.
|
4. 클라이언트는 파이썬의 request 라이브러리를 사용해서 response = request.get(FastAPI주소/명령쿼리) 로 서버와 연결하고 FastAPI 명령을 실행한다.
|
5. 클라이언트가 원하는 데이터를 얻는다.
이런식으로 사용한다.
여기서 URL 예시를 들어보면 "http://localhost:8000/명령" 의 형태를 가지는데 여기서 localhost란 현재 사용중인 내 컴퓨터의 특별한 주소, 즉 IP이다. 따라서 다른 컴퓨터에서 클라이언트로 사용하려면 내컴퓨터의 IP를 넣어주어야 한다. "서버 IP:8000/명령 형태가 들어갈 것이다.
또한 fast API는 기존에 있는 고유 API(ex JIRA API등)의 endpoint를 수정해줄 수 있다.
쉽게 말하면 reddit이라는 홈페이지 고유의 API 기능을 fast API의 함수로 감싸주어 기존 API의 출력값을 추가적으로 편집, 전처리등을 해주어 출력할 데이터를 커스터마이징 할 수 있다.
'배우는 과정 > 코딩공부' 카테고리의 다른 글
유닉스 운영체제에서 Root 볼륨과 데이터 볼륨의 차이 (0) | 2025.02.15 |
---|---|
MAC과 IP주소 차이 (0) | 2025.01.13 |
데이터 엔지니어(DE)가 배우면 좋은 것들 (0) | 2024.11.13 |
데이터 개발자들이 사용하는 데이터베이스(DB)의 종류 (1) | 2024.11.11 |
구조체 데이터를 읽어올 때 (0) | 2024.02.07 |
댓글