API 소개

Python으로 배우는 API 입문

Chris Ramakers

Engineering Manager

API란?

  • Application Programming Interface
  • 통신 규칙과 기능의 집합
  • 소프트웨어 간 상호작용을 가능하게 함

이메일 클라이언트와 이메일 서버 간 API 상호작용을 통해 john@acme.com으로 메일을 보내는 다이어그램.

Python으로 배우는 API 입문

웹 API, 클라이언트, 서버

  • 웹 API는 인터넷에서 HTTP로 통신함
  • 클라이언트가 서버에 요청 메시지를 보냄
  • 서버가 클라이언트에 응답 메시지를 반환함

API를 통한 인터넷 상의 클라이언트-서버 상호작용과 요청/응답 메시지 라벨이 있는 다이어그램.

  • 요청/응답 사이클
Python으로 배우는 API 입문

웹 API 유형

  • SOAP
    • 엄격하고 형식적인 API 설계 지향
    • 엔터프라이즈 애플리케이션
  • REST
    • 단순성과 확장성 지향
    • 가장 일반적인 API 아키텍처
  • GraphQL
    • 유연성 지향
    • 성능 최적화
1 https://www.postman.com/state-of-api/api-technologies/#api-technologies
Python으로 배우는 API 입문

Python으로 API 사용하기

urllib

  • 파이썬에 기본 포함
  • 강력하지만 개발자 친화적이지 않음
from urllib.request import urlopen
api = "http://api.music-catalog.com/"

with urlopen(api) as response:
  data = response.read()
  string = data.decode()
  print(string)

requests

  • 강력한 내장 기능 다수
  • 더 쉽게 사용 가능
import requests
api = "http://api.music-catalog.com/"

response = requests.get(api)
print(response.text)
Python으로 배우는 API 입문

코드를 작성해 봅시다!

Python으로 배우는 API 입문

Preparing Video For Download...