Le routage reposant vise à rendre le routage cohérent dans toutes les différentes applications. REST est un transfert d'état représentatif. Il utilise HTTP de manière cohérente, lisible par l'homme et par la machine.
Les normes sont GET, POST, PATCH, PUT et DELETE.
Ci-dessous, nous donnerons un exemple de quelques itinéraires reposants dans une base de données API Flask pour obtenir/donner les informations depuis/vers l'avant et effectuer l'action requise.
Un exemple de GET pour les utilisateurs côté serveur utilisant flask utilise le code ci-dessous.
Vous devrez d’abord également importer ces éléments. L'importation de base de données sera utilisée plus tard pour l'exemple 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
Votre fichier de configuration doit être configuré comme ci-dessous pour que les importations fonctionnent.
db = SQLAlchemy(app=app, metadata=metadata) api = Api(app=app)
Le code GET dans la route Utilisateur :
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")
Pour décomposer ce code.
Vous devrez créer une classe pour la ressource utilisateurs et mettre la ressource comme argument.
Créez ensuite une fonction pour le get. La fonction interrogera la table User puis créera une liste de tous les utilisateurs en les convertissant en dictionnaires pour le transfert afin qu'ils puissent être visibles sur la page Web au format JSON. Ensuite, vous renvoyez la liste ainsi qu'un code d'état de 200 indiquant que la demande a réussi.
Enfin, vous devrez créer la ressource. Nommez la ressource que vous utilisez ainsi que le chemin et le point de terminaison. /api est ajouté devant le chemin afin que le site Web d'hébergement puisse discerner l'itinéraire front-end et backend.
Pour DELETE, vous devrez créer une autre ressource pour une suppression par un seul utilisateur. Voir le code ci-dessous :
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")
Pour expliquer davantage ce qui se passe lors de la suppression et qui est différent de l'obtention, il y a quelques éléments. Tout d’abord, il s’agit simplement de supprimer un utilisateur, vous devrez donc créer une nouvelle ressource. Il est configuré de la même manière mais pas au pluriel.
Ensuite, vous créez la fonction de suppression. Il aura besoin de deux arguments car vous devez transmettre l'identifiant envoyé depuis le front-end pour déterminer quel utilisateur supprimer. Ensuite, vous utiliserez db session delete et commit pour mettre à jour la base de données. Après cela, vous renvoyez une réponse vide car il n'y a rien à renvoyer et le statut de suppression (204).
Enfin, vous devez créer la ressource. Cette fois, en utilisant UserResource. Le chemin sera différent pour être singulier et avoir l’identifiant qui a été transmis au front-end et le point final est également singulier.
Le routage RESTful fait en sorte que lors du basculement entre différentes applications, il existe une norme que tout le monde peut suivre pour le routage backend et connaître les chemins standardisés. De plus, cela rend les chemins plus propres et plus faciles à lire.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3