Ya hemos visto como podemos pasar parámetros GET en peticiones Python Flask. En este caso vamos a ver como podemos forzar el tipo de parámetros que se envían. Es decir, forzar a que el path de los parámetros de una petición GET sean de un tipo u otro. Para poder demostrar cómo funcionan los parámetros Python Flask con tipo vamos a crear un servicio REST que nos sume dos números.
Lo primero será instalar el microframework Flask.
pip install Flask
Lo siguiente será crear nuestra aplicación Flask.
from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
app.run(debug=True)
Ahora vamos a crear la ruta que nos sume los números. Esta será una ruta en la que haya dos variables y que devuelva la suma de las dos variables.
@app.route('/suma//',methods=['GET'])
def suma(s1,s2):
return str(s1+s2)
El problema de esta ruta y método de suma es que los parámetros pasados dentro del Path pueden ser de cualquier tipo y alguien podría invocarnos de la siguiente forma:
/suma/hola/adios
Y tendríamos algo tan curioso como las dos cadenas sumadas "holaadios".
Lo que vamos a hacer es tener parámetros Python Flask con tipo, en este caso vamos a forzar que los parámetros sean números. Para ello vamos a indicar que las variables son de tipo int de la siguiente forma:
@app.route('/suma//',methods=['GET'])
def saludo(s1,s2):
return str(s1+s2)
De esta forma nuestra ruta suma solo se ejecutará si las variables son números enteros. Así hemos vistos como podemos tener parámetros Python Flask con tipo.