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
2 hours ago

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

@luisbeltranalvinoalvarez7024
2 hours 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
2 hours ago

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

@brothersbosses1635
2 hours ago

6:30

@marcelacorreal9317
2 hours ago

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

@MiguelLopezAriza
2 hours ago

¡Súper el video, muchas gracias!

@miguelvasquez9849
2 hours ago

Muy buen video, claro y concreto

@f4zii
2 hours ago

interesante mucho mas facil que con flask y django

@rauljauregi6615
2 hours ago

Buenísimo! Gracias!

@srcliche8765
2 hours ago

SALUDOS A TODA LA BANDA DEL CONALEP

@rogermullisaca8628
2 hours ago

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

@MateoVillarinos
2 hours 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
2 hours ago

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

@Predictor13
2 hours 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
2 hours ago

Excelente, muy conciso!!! Saludos

@davidrichard3684
2 hours ago

Buen video crack crea mas videos de Fast API

@ingdavidrosasv
2 hours 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
2 hours 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