Heim > Artikel > Backend-Entwicklung > Restful Routing – Ein Beispiel für eine Flask-API
Restful Routing ist der Versuch, das Routing in allen verschiedenen Anwendungen konsistent zu machen. REST ist Representational State Transfer. Es verwendet HTTP auf konsistente, für Menschen lesbare und maschinenlesbare Weise.
Die Standards sind GET, POST, PATCH, PUT und DELETE.
Im Folgenden finden Sie ein Beispiel für einige restaurative Routen in einer Flask-API-Datenbank, um die Informationen von/nach vorne zu erhalten/zu übertragen und die erforderliche Aktion auszuführen.
Ein Beispiel für ein GET für Benutzer auf der Serverseite, das Flask verwendet, ist die Verwendung des folgenden Codes.
Zuerst müssen Sie auch diese Elemente importieren. Der Datenbankimport wird später für das DELETE-Beispiel verwendet.
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
Ihre Konfigurationsdatei sollte wie unten beschrieben eingerichtet sein, damit die Importe funktionieren.
db = SQLAlchemy(app=app, metadata=metadata) api = Api(app=app)
Der GET-Code in der Benutzerroute:
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")
Um diesen Code aufzuschlüsseln.
Sie müssen eine Klasse für die Benutzerressource erstellen und die Ressource als Argument eingeben.
Als nächstes erstellen Sie eine Funktion für das Get. Die Funktion fragt die Benutzertabelle ab und erstellt dann eine Liste aller Benutzer, die sie zur Übertragung in Wörterbücher umwandeln, sodass sie auf der Webseite als JSON sichtbar sein können. Anschließend erhalten Sie die Liste sowie den Statuscode 200 zurück, dass die Anfrage erfolgreich war.
Zuletzt müssen Sie die Ressource erstellen. Benennen Sie die von Ihnen verwendete Ressource sowie den Pfad und den Endpunkt. /api wird vor dem Pfad hinzugefügt, damit die Hosting-Website die Front- und Backend-Route unterscheiden kann.
Für DELETE müssen Sie eine weitere Ressource für die Löschung eines einzelnen Benutzers erstellen. Siehe den Code unten:
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/<int:id>", endpoint="user")
Um näher zu erklären, was beim Löschen passiert und sich vom Abrufen unterscheidet, gibt es ein paar Dinge. Zuerst wird nur ein Benutzer gelöscht, sodass Sie eine neue Ressource erstellen müssen. Es ist ähnlich aufgebaut, aber nicht im Plural.
Dann erstellen Sie die Löschfunktion. Es sind zwei Argumente erforderlich, da Sie die vom Frontend gesendete ID übergeben müssen, um zu bestimmen, welcher Benutzer gelöscht werden soll. Anschließend verwenden Sie db session delete und commit, um die Datenbank zu aktualisieren. Danach erhalten Sie eine leere Antwort zurück, da es nichts zum Zurücksenden gibt, und den Status für eine Löschung (204).
Zuletzt müssen Sie die Ressource erstellen. Diesmal mit der UserResource. Der Pfad wird anders sein, um singulär zu sein und die ID zu haben, die an das Frontend übergeben wurde, und der Endpunkt ist ebenfalls singulär.
RESTful-Routing sorgt dafür, dass es beim Wechsel zwischen verschiedenen Anwendungen einen Standard gibt, dem jeder beim Backend-Routing folgen kann und der die standardisierten Pfade kennt. Darüber hinaus werden die Pfade dadurch sauberer und leichter lesbar.
Das obige ist der detaillierte Inhalt vonRestful Routing – Ein Beispiel für eine Flask-API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!