Link Search Menu Expand Document
El Libro De Python (24.95 €) 39.95 €

Construye una API con flask

Veamos como implementar un servicio en forma de API que realice conversiones de moneda entre € y $.

  • Definimos un ratio de conversión EUR_A_USD. En un caso real será variable.
  • Definimos una endpoint to-usd que convierte los € a $.
from flask import Flask, jsonify

app = Flask(__name__)

EUR_A_USD = 1.1

@app.route('/to-usd/<eur>', methods=['GET'])
def convert(eur):
    try:
        eur = float(eur)
        usd = eur * EUR_A_USD
        return jsonify({
            'EUR': eur,
            'USD': usd
        })
    except ValueError as e:
        return jsonify({'error': str(e)}), 400

if __name__ == '__main__':
    app.run(debug=True)

Prueba en tu navegador lo siguiente:

  • http://127.0.0.1:5000/to-usd/100: Convierte 100€ a $.
  • http://127.0.0.1:5000/to-usd/noesnumero: Devuelve un error, ya que no es un número.

✏️ Ejercicios:

  • Implementa una función to-eur que convierta de € a $.
  • Añade un parámetro para que la URL sea /to-usd?eur=100.
  • Añade un nuevo endpoint que permita actualiza el ratio de conversión EUR_A_USD. Decide si es mejor utilizar PUT o POST.