FastAPI GET: Creación de Endpoints GET en FastAPI
FastAPI es un framework de microservicios web de Python que se basa en el paradigma de programación asincrónica. Es una herramienta muy popular para el desarrollo de APIs REST, ya que ofrece una sintaxis sencilla y flexible, así como un rendimiento óptimo.
En este tutorial, aprenderemos a crear endpoints GET en FastAPI. Los endpoints GET son los más comunes en las APIs REST, y se utilizan para devolver datos al cliente.
Paso 1: Importar FastAPI
Lo primero que tenemos que hacer es importar el módulo FastAPI.
from fastapi import FastAPI
Paso 2: Crear una aplicación FastAPI
A continuación, creamos una aplicación FastAPI.
app = FastAPI()
Paso 3: Definir un endpoint GET
Para definir un endpoint GET, utilizamos la anotación @app.get()
.
@app.get("/")
def index():
return "Hola, mundo!"
Este endpoint devolverá el mensaje «Hola, mundo!» al cliente.
Paso 4: Ejecutar la aplicación FastAPI
Para ejecutar la aplicación FastAPI, podemos utilizar el método run()
.
if __name__ == "__main__":
app.run()
Ejemplo completo
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def index():
return "Hola, mundo!"
if __name__ == "__main__":
app.run()
Pruebas
Podemos probar nuestro endpoint GET utilizando un cliente HTTP, como Postman o Insomnia.
En Postman, crearemos una nueva solicitud GET a la URL http://localhost:8000
.
La respuesta de la solicitud debe ser el mensaje «Hola, mundo!».
Retorno de datos
En el ejemplo anterior, nuestro endpoint GET devuelve un simple mensaje de texto. Sin embargo, también podemos devolver datos de cualquier tipo, como diccionarios, listas o objetos serializables.
Por ejemplo, el siguiente endpoint devolverá una lista de usuarios:
@app.get("/users")
def users():
return [
{"id": 1, "name": "Juan"},
{"id": 2, "name": "Pedro"},
{"id": 3, "name": "María"},
]
Parámetros de consulta
Los endpoints GET también pueden aceptar parámetros de consulta. Los parámetros de consulta se especifican en la URL de la solicitud, después de un signo de interrogación.
Por ejemplo, el siguiente endpoint GET devolverá una lista de usuarios que coincidan con un determinado nombre:
@app.get("/users")
def users(name: str):
return [
{"id": 1, "name": name},
{"id": 2, "name": name},
{"id": 3, "name": name},
]
En este caso, la solicitud http://localhost:8000/users?name=Juan
devolverá una lista con un solo elemento, que es el usuario con el nombre «Juan».
Conclusiones
En este tutorial, hemos aprendido a crear endpoints GET en FastAPI. Los endpoints GET son los más comunes en las APIs REST, y se utilizan para devolver datos al cliente.
Con los conocimientos adquiridos en este tutorial, podrás crear endpoints GET que cumplan con tus necesidades.