Анатомия API-запроса

Введение в API на Python

Chris Ramakers

Engineering Manager

Что такое URL?

  • URL = Uniform Resource Locator
  • Структурированный адрес ресурса API
  • Настройте URL для обращения к конкретным ресурсам API
http://350.5th-ave.com/unit/243
Введение в API на Python

Разбор URL

Диаграмма с частями URL: Protocol (http://), Domain (350.5th-ave.com), Port (:80), Path (/unit/243) и Query (?floor=77).

  • Protocol = способ передачи данных
  • Domain = адрес офисного здания
  • Port = ворота или вход в здание
  • Path = конкретный офис внутри здания
  • Query = дополнительные инструкции
Введение в API на Python

Добавление параметров запроса с помощью requests

# Append the query parameter to the URL string
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 для добавления параметров запроса
# Create dictionary
query_params = {'floor': 77, 'elevator': True}
# Pass the dictionary using the `params` argument
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
Введение в API на Python

HTTP-глаголы

  • Адрес: офис 243 в здании по адресу 350 5th Ave
  • URL: http://350.5th-ave.com/unit/243

Действия

Глагол Действие Описание
GET Чтение Проверить содержимое почтового ящика
POST Создание Положить новую посылку в ящик
PUT Обновление Заменить все посылки новой
DELETE Удаление Убрать все посылки из ящика
1 Всего существует 9 HTTP-глаголов, но для простых REST API используются только эти 4
Введение в API на Python

Отправка данных через POST и PUT

# GET = Retrieve a resource
response = requests.get('http://350.5th-ave.com/unit/243')

# POST = Create a resource response = requests.post('http://350.5th-ave.com/unit/243', data={"key": "value"}) # PUT = Update an existing resource response = requests.put('http://350.5th-ave.com/unit/243', data={"key": "value"})
# DELETE = Remove a resource response = requests.delete('http://350.5th-ave.com/unit/243')
  • Каждому глаголу соответствует отдельный метод в пакете requests
  • Используйте аргумент data для передачи данных в запросах POST и PUT.
Введение в API на Python

Давайте потренируемся!

Введение в API на Python

Preparing Video For Download...