API 요청의 기본 구조

Python으로 배우는 API 입문

Chris Ramakers

Engineering Manager

URL이란?

  • URL = Uniform Resource Locator
  • API 리소스의 구조화된 주소입니다
  • 특정 API 리소스와 상호작용하려면 URL을 맞춤 설정합니다
http://350.5th-ave.com/unit/243
Python으로 배우는 API 입문

URL 분해하기

URL의 구성 요소 다이어그램: 프로토콜(http://), 도메인(350.5th-ave.com), 포트(:80), 경로(/unit/243), 쿼리(?floor=77).

  • Protocol = 전송 수단
  • Domain = 건물의 거리 주소
  • Port = 출입에 사용하는 문/게이트
  • Path = 건물 내 특정 사무실
  • Query = 추가 지시사항
Python으로 배우는 API 입문

requests로 쿼리 매개변수 추가하기

# 쿼리 매개변수를 URL 문자열에 직접 추가
response = requests.get('http://350.5th-ave.com/unit/243?floor=77&elevator=True')
print(response.url)
http://350.5th-ave.com/unit/243?floor=77&elevator=True
  • params 인수로 쿼리 매개변수를 추가합니다
# 딕셔너리 생성
query_params = {'floor': 77, 'elevator': True}
# `params` 인수에 딕셔너리를 전달
response = requests.get('http://350.5th-ave.com/unit/243', params=query_params)
print(response.url)
http://350.5th-ave.com/unit/243?floor=77&elevator=True
Python으로 배우는 API 입문

HTTP 동사

  • 목적지: 350 5th Ave 오피스 빌딩의 243호
  • URL: http://350.5th-ave.com/unit/243

동작

Verb Action Description
GET Read 우편함 내용을 확인
POST Create 새 소포를 우편함에 넣기
PUT Update 모든 소포를 새 것으로 교체
DELETE Delete 우편함의 소포 모두 제거
1 HTTP 동사는 총 9개이지만, 단순한 REST API에는 이 4개만 주로 사용합니다
Python으로 배우는 API 입문

POST와 PUT으로 데이터 보내기

# GET = 리소스 조회
response = requests.get('http://350.5th-ave.com/unit/243')

# POST = 리소스 생성 response = requests.post('http://350.5th-ave.com/unit/243', data={"key": "value"}) # PUT = 기존 리소스 수정 response = requests.put('http://350.5th-ave.com/unit/243', data={"key": "value"})
# DELETE = 리소스 삭제 response = requests.delete('http://350.5th-ave.com/unit/243')
  • 각 동사는 requests 패키지의 전용 메서드가 있습니다
  • POST/PUT 요청에 데이터는 data 인수로 전달합니다.
Python으로 배우는 API 입문

연습해 봅시다!

Python으로 배우는 API 입문

Preparing Video For Download...