Desarrollo de aplicaciones REST en Python
Introducción
Una API REST es una interfaz de programación de aplicaciones que utiliza el protocolo HTTP para exponer recursos. Los recursos son objetos o datos que se pueden consultar, crear, actualizar o eliminar.
Python es un lenguaje de programación de alto nivel que es adecuado para el desarrollo de aplicaciones REST. Es un lenguaje fácil de aprender y usar, y tiene una gran cantidad de bibliotecas y herramientas disponibles para el desarrollo de API.
En este tutorial, aprenderás a crear una aplicación REST en Python. Usaremos el framework Flask, que es una herramienta sencilla para crear aplicaciones web.
Prerequisitos
Para seguir este tutorial, necesitarás los siguientes conocimientos:
- Fundamentos de Python
- Fundamentos de HTTP
Creando una aplicación Flask
El primer paso es crear una aplicación Flask. Para ello, crea un directorio para tu proyecto y crea un archivo llamado app.py
.
# app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Hola, mundo!"
if __name__ == "__main__":
app.run()
Este código crea una aplicación Flask simple que responde a las solicitudes a la ruta /
con la cadena «Hola, mundo!».
Definiendo recursos
En una API REST, los recursos son objetos o datos que se pueden consultar, crear, actualizar o eliminar. Para definir un recurso en Flask, usaremos la clase Resource
.
# app.py
from flask import Flask, request, Response
from flask_restful import Resource
app = Flask(__name__)
class User(Resource):
def get(self, id):
# Devuelve un usuario por su ID
return {"id": id, "name": "John Doe"}
def post(self):
# Crea un nuevo usuario
data = request.get_json()
user = {"id": len(users) + 1, "name": data["name"]}
users.append(user)
return user, 201
def put(self, id):
# Actualiza un usuario
data = request.get_json()
user = users[id - 1]
user["name"] = data["name"]
return user, 200
def delete(self, id):
# Elimina un usuario
users.pop(id - 1)
return "Usuario eliminado", 200
users = []
app.add_resource(User, "/users/<int:id>")
if __name__ == "__main__":
app.run()
Este código define un recurso llamado User
. El recurso User
tiene cuatro métodos:
get()
: Devuelve un usuario por su ID.post()
: Crea un nuevo usuario.put()
: Actualiza un usuario.delete()
: Elimina un usuario.
Pruebas de la aplicación
Para probar la aplicación, abre tu navegador y navega a la siguiente URL:
http://localhost:5000/users
Deberías ver la siguiente respuesta:
[
{
"id": 1,
"name": "John Doe"
}
]
También puedes probar los métodos del recurso User
usando la herramienta curl
:
curl -X GET http://localhost:5000/users/1
{"id":1,"name":"John Doe"}
curl -X POST -H «Content-Type: application/json» -d ‘{«name»: «Jane Doe»}’ http://localhost:5000/users
{"id":2,"name":"Jane Doe"}
curl -X PUT -H «Content-Type: application/json» -d ‘{«name»: «Jane Doe Doe»}’ http://localhost:5000/users/2
{"id":2,"name":"Jane Doe Doe"}
curl -X DELETE http://localhost:5000/users/2
Usuario eliminado
Conclusión
En este tutorial, aprendiste a crear una aplicación REST en Python usando el framework Flask. Puedes