Anatomía básica de una solicitud API

Introducción a las API en Python

Chris Ramakers

Engineering Manager

¿Qué son las URLs?

  • URL = Localizador Uniforme de Recursos
  • La dirección estructurada de un recurso de API
  • Personaliza la URL para interactuar con recursos de API específicos
http://350.5th-ave.com/unit/243
Introducción a las API en Python

Desglosar la URL

Diagrama con partes de una URL: Protocolo (http://), Dominio (350.5th-ave.com), Puerto (:80), Ruta (/unit/243) y Consulta (?floor=77).

  • Protocolo = el medio de transporte
  • Dominio = la dirección del edificio
  • Puerto = la puerta de entrada
  • Ruta = la oficina específica dentro del edificio
  • Consulta = instrucciones adicionales
Introducción a las API en Python

Añadir query params con requests

# Añade parámetros de consulta a la 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
  • Usa el argumento params para añadir parámetros de consulta
# Crea un diccionario
query_params = {'floor': 77, 'elevator': True}
# Pásalo con el argumento `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
Introducción a las API en Python

Verbos HTTP

  • Destino: Unidad 243 del edificio 350 5th Ave
  • URL: http://350.5th-ave.com/unit/243

Acciones

Verbo Acción Descripción
GET Leer Mirar el buzón
POST Crear Dejar un paquete nuevo en el buzón
PUT Actualizar Sustituir todos los paquetes por uno nuevo
DELETE Borrar Quitar todos los paquetes del buzón
1 Hay 9 verbos HTTP en total, pero para APIs REST simples solo importan estos 4
Introducción a las API en Python

Enviar datos con POST y PUT

# GET = Recuperar un recurso
response = requests.get('http://350.5th-ave.com/unit/243')

# POST = Crear un recurso response = requests.post('http://350.5th-ave.com/unit/243', data={"key": "value"}) # PUT = Actualizar un recurso existente response = requests.put('http://350.5th-ave.com/unit/243', data={"key": "value"})
# DELETE = Eliminar un recurso response = requests.delete('http://350.5th-ave.com/unit/243')
  • Cada verbo tiene su propio método en el paquete requests
  • Usa el argumento data para pasar datos en POST o PUT.
Introducción a las API en Python

¡Vamos a practicar!

Introducción a las API en Python

Preparing Video For Download...