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.