Aprende a crear una API REST con Python usando FastAPI desde cero

Posted by


En este tutorial, te enseñaremos cómo crear una API REST utilizando FastAPI en Python. FastAPI es un framework web moderno y de alto rendimiento que facilita la creación de APIs rápidas y seguras. Además, cuenta con una sintaxis sencilla y declarativa que permite desarrollar APIs de forma muy eficiente.

¿Qué es una API REST?

Una API REST (Representational State Transfer) es un conjunto de reglas y convenciones para el intercambio de datos entre aplicaciones. Permite a las aplicaciones comunicarse entre sí de manera eficiente y flexible, utilizando los métodos HTTP para realizar operaciones sobre recursos.

¿Qué es FastAPI?

FastAPI es un framework web Python de alto rendimiento que permite crear APIs RESTful de forma rápida y sencilla. Está diseñado para ser fácil de usar, seguro y rápido, utilizando la tipificación estática de Python para mejorar el rendimiento y la seguridad de la aplicación.

Paso 1: Instalación de FastAPI

Lo primero que debemos hacer es instalar FastAPI y uvicorn, un servidor web ASGI de alta velocidad que soporta HTTP/1 y HTTP/2.

pip install fastapi uvicorn

Paso 2: Creación de una aplicación FastAPI

Vamos a crear una aplicación FastAPI básica que exponga un endpoint para consultar información sobre usuarios. Crea un archivo llamado main.py y añade el siguiente código:

from fastapi import FastAPI

app = FastAPI()

@app.get("/users/{user_id}")
def read_user(user_id: int):
    return {"user_id": user_id}

Este código define una nueva aplicación FastAPI con un único endpoint /users/{user_id} que devuelve un objeto JSON con el identificador del usuario. Para ejecutar la aplicación, utiliza el siguiente comando:

uvicorn main:app --reload

Paso 3: Acceder a la API

Abre tu navegador o una herramienta como Postman y accede a la URL http://localhost:8000/users/1. Verás que la API responde con un objeto JSON que contiene el identificador del usuario solicitado.

Paso 4: Añadir más funcionalidades

Ahora vamos a añadir más funcionalidades a nuestra API. Modifica el código de main.py para incluir un nuevo endpoint /items que devuelve una lista de productos:

from fastapi import FastAPI

app = FastAPI()

items = [
    {"id": 1, "name": "Pencil"},
    {"id": 2, "name": "Notebook"}
]

@app.get("/users/{user_id}")
def read_user(user_id: int):
    return {"user_id": user_id}

@app.get("/items")
def read_items():
    return items

Paso 5: Prueba la nueva funcionalidad

Reinicia el servidor utilizando el comando uvicorn main:app –reload y accede a la nueva URL http://localhost:8000/items. Verás que la API devuelve una lista de productos en formato JSON.

¡Felicidades! Has creado tu primera API REST con FastAPI en Python. Ahora puedes explorar más funcionalidades y características avanzadas de FastAPI para desarrollar APIs más complejas y potentes. ¡Buena suerte!

0 0 votes
Article Rating

Leave a Reply

18 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@bryanpumax
26 days ago

te mereces un gran like y suscripcion pero te falto enseñar como finalizo

@luisbeltranalvinoalvarez7024
26 days ago

Hola me podrás ayudar se presento este mensaje ERROR: [Errno 13] error while attempting to bind on address ('127.0.0.1', 8000): intento de acceso a un socket no permitido por sus permisos de acceso.

Como lo puedo solucionas. Graicas

@julianlawrance7862
26 days ago

Que grande. Un muy buen video, muchas gracias <3

@brothersbosses1635
26 days ago

6:30

@marcelacorreal9317
26 days ago

Este es el mejor video de fast api que he visto….gracias!

@MiguelLopezAriza
26 days ago

¡Súper el video, muchas gracias!

@miguelvasquez9849
26 days ago

Muy buen video, claro y concreto

@f4zii
26 days ago

interesante mucho mas facil que con flask y django

@rauljauregi6615
26 days ago

Buenísimo! Gracias!

@srcliche8765
26 days ago

SALUDOS A TODA LA BANDA DEL CONALEP

@rogermullisaca8628
26 days ago

Muy bonito la introducción que hiciste, pero hiciste algun curso así pero en MVC o framework aplicando CRUD

@MateoVillarinos
26 days ago

Buenas, podran hacer un video de como llamar una funcion de fast api modularizada en un archivo html para asi una vez activado el onclick llamar al post, delete, upload o create ? Muchas gracias

@MateoVillarinos
26 days ago

Aprendi fastapi gracias a vos por platzi, ahora profundizando vuelvo a encontrarte. Te felicito crack

@Predictor13
26 days ago

Excelente video, entregaste la información muy clara y concisamente y a muy buen ritmo. Estoy muy interesado en este framework. Espero te animes a continuar con otros videos de FastaAPI. Felicidades Pablo!

@marianonigro
26 days ago

Excelente, muy conciso!!! Saludos

@davidrichard3684
26 days ago

Buen video crack crea mas videos de Fast API

@ingdavidrosasv
26 days ago

Buenisimo. Ya habia tomado un curso de FastAPI en Platzi pero es dificil comprender todos estos temas de backend por primera vez. Este video me ayudo mucho para repasar y aclarar muy bien los conceptos

@luchinilvp
26 days ago

Muy buen vídeo, quería ver fastapi, está muy buen documentado, y como se comporta con Vue. Saludos 😊

18
0
Would love your thoughts, please comment.x
()
x