"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Enrutamiento reparador: un ejemplo de API de Flask

Enrutamiento reparador: un ejemplo de API de Flask

Publicado el 2024-11-08
Navegar:470

Restful Routing - A Flask API Example

El enrutamiento tranquilo es el impulso para hacer que el enrutamiento sea consistente en todas las aplicaciones diferentes. REST es Transferencia de Estado Representacional. Utiliza HTTP de forma coherente, legible por humanos y por máquinas.

Los estándares son GET, POST, PATCH, PUT y DELETE.

A continuación se muestra un ejemplo de un par de rutas relajantes en una base de datos API de flask para obtener/dar información desde/hacia el frente y realizar la acción requerida.

Un ejemplo de GET para usuarios en el lado del servidor usando flask es el siguiente código.

Primero también necesitarás importar estos elementos. La importación de base de datos se utilizará más adelante para el ejemplo DELETE.

from flask import request (*Used for POST and PATCH*)
from config import db, api, app 

from flask_restful import Resource
from models.user import User

Su archivo de configuración debe configurarse como se muestra a continuación para que las importaciones funcionen.

 db = SQLAlchemy(app=app, metadata=metadata)
 api = Api(app=app)

El código GET en la ruta del Usuario:

 class UsersResource(Resource):
     def get(self):
        users = [user.to_dict() for user in User.query.all()]
        return users, 200

 api.add_resource(UsersResource, "/api/users", endpoint="users")

Para desglosar este código.

Deberá crear una clase para el Recurso de Usuarios e ingresar el Recurso como argumento.

A continuación, cree una función para get. La función consultará la tabla de usuarios y luego creará una lista de todos los usuarios convirtiéndolos en diccionarios para transferirlos para que puedan ser visibles en la página web como JSON. Luego devuelve la lista así como un código de estado de 200 que indica que la solicitud fue exitosa.

Por último, deberás crear el recurso. Nombra el recurso que estás utilizando, así como la ruta y el punto final. /api se agrega delante de la ruta para que el sitio web de alojamiento pueda distinguir entre la ruta frontal y la ruta backend.

Para ELIMINAR, deberá crear otro recurso para eliminar un solo usuario. Vea el código a continuación:

 class UserResource(Resource):
     def delete(self, id):
         user= User.query.get(id)
         db.session.delete(user)
         db.session.commit()
         return {}, 204

 api.add_resource(UserResource, "/api/user/", 
 endpoint="user")

Para explicar con más detalle lo que sucede en la eliminación que es diferente de la obtención, hay algunas cosas. Primero, solo se trata de eliminar un usuario, por lo que deberá crear un nuevo recurso. Está configurado de manera similar pero no en plural.

Luego creas la función de eliminación. Necesitará dos argumentos, ya que debe pasar la identificación que se envió desde el front-end para determinar qué usuario eliminar. Luego utilizará la eliminación de sesión de base de datos y se comprometerá para actualizar la base de datos. Después de eso, devuelve una respuesta vacía ya que no hay nada que devolver y el estado para una eliminación (204).

Por último, debes crear el recurso. Esta vez usando UserResource. La ruta será diferente para ser singular y tener la identificación que se pasó al front-end y el punto final también es singular.

El enrutamiento RESTful hace que al cambiar entre diferentes aplicaciones exista un estándar que todos pueden seguir para el enrutamiento backend y conocer las rutas que están estandarizadas. Además, hace que los caminos sean más limpios y fáciles de leer.

Declaración de liberación Este artículo se reproduce en: https://dev.to/spencer_adler_880da14d230/restful-routing-a-flask-api-example-5cpb?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3