Heim > Datenbank > MySQL-Tutorial > So erstellen Sie in einfachen Schritten eine MySQL-REST-API

So erstellen Sie in einfachen Schritten eine MySQL-REST-API

王林
Freigeben: 2024-07-25 11:40:21
Original
899 Leute haben es durchsucht

How to Create a MySQL REST API in asy Steps

Laut der StackOverflow-Umfrage 2022 bewerten 46 % der professionellen Entwickler MySQL als die beliebteste Datenbank für die Verwendung im Arbeitsbereich. Als Programmierer sollten wir uns nicht damit abmühen, wiederholt Code zu schreiben, der ansonsten leicht verfügbar, robust und gut getestet ist.

Dennoch bleibt dieses Problem im REST-API-Bereich bestehen, obwohl der Implementierungsprozess zu diesem Zeitpunkt routinemäßig, sich wiederholend und anfällig für Fehler und Versehen ist. Dieses Versehen ist aus mehreren Gründen kostspielig:

  • Den Endbenutzern ist es einfach *egal*, wie die API implementiert wurde, was bedeutet, dass es keinen Wettbewerbsvorteil gibt, wenn man für jedes Projekt eine neue API manuell erstellt.
  • Fehler und Versäumnisse in der API-Implementierungs- und Bereitstellungsphase können aufgrund von Sicherheitslücken und Leistungsproblemen einen sehr hohen Preis haben.
  • Das wiederholte Erstellen einmaliger APIs bedeutet, dass diese nicht über eine einzige Plattform verwaltet werden können. es sei denn, das Team beschließt, noch mehr Zeit und Mühe in den Aufbau einer maßgeschneiderten Verwaltungslösung zu investieren.

Zum Glück für uns Programmierer kann die DreamFactory-Plattform Ihr Team ganz einfach von all diesen Problemen und vielem mehr befreien, indem sie eine zentralisierte Lösung für die API-Dokumentation, -Generierung und -Sicherheit bietet. In diesem Tutorial erfahren Sie, wie einfach es ist, eine REST-API für Ihre MySQL-Datenbank zu erstellen, zu sichern und bereitzustellen.

Inhaltsverzeichnis

  • Was ist eine MySQL-REST-API?
  • Warum sind MySQL-REST-APIs wichtig?
    • 1. Verwendung von DreamFactory
    • 2. Generieren der MySQL REST API
    • 3. Anzeigen der Swagger-Dokumentation
    • 4. Erstellen einer Rolle und eines API-Schlüssels
    • 5. Konfigurieren von CORS für Ihre MySQL-API
    • 6. Testen der MySQL REST API
  • Alternative Ansätze zur MySQL-API-Erstellung
  • Wohin von hier aus

Was ist eine MySQL-REST-API?

Eine MySQL-API ist eine Reihe von Funktionen, Protokollen und Tools, die es Entwicklern ermöglichen, programmgesteuert über ihre Anwendungen oder Skripte mit einer MySQL-Datenbank zu interagieren.

Diese API bietet Anwendungen die Möglichkeit, Abfragen an die MySQL-Datenbank zu senden, Daten abzurufen, Daten zu ändern und verschiedene Datenbankoperationen durchzuführen. Es fungiert als Zwischenschicht zwischen dem Anwendungscode und dem Datenbankserver und ermöglicht eine nahtlose Kommunikation und Datenmanipulation.

Zu den gängigen MySQL-APIs gehören MySQL Connector/ODBC, MySQL Connector/J (für Java), MySQLi (für PHP) und viele andere, die jeweils auf bestimmte Programmiersprachen oder Frameworks zugeschnitten sind.

Warum sind MySQL-REST-APIs wichtig?

MySQL-APIs spielen eine zentrale Rolle in der Softwareentwicklung, indem sie die Interaktion zwischen Anwendungen und MySQL-Datenbanken erleichtern.

Diese APIs fungieren als „Zwischenglieder“, indem sie die Komplexität von Datenbankoperationen abstrahieren und eine standardisierte Schnittstelle für Entwickler bereitstellen. Ihre Bedeutung liegt darin, Anwendungen in die Lage zu versetzen, Daten effizient zu speichern, abzurufen, zu ändern und zu verwalten.

MySQL-APIs bieten Kompatibilität mit einer Vielzahl von Programmiersprachen und Frameworks, sodass Entwickler mit MySQL mit ihren bevorzugten Tools arbeiten können. Sie erhöhen die Sicherheit, indem sie Funktionen wie vorbereitete Anweisungen und Eingabevalidierung bieten, um vor häufigen Sicherheitslücken wie SQL-Injection zu schützen.

Leistungsoptimierungsfunktionen wie Verbindungspooling und Caching tragen dazu bei, die Effizienz der Datenbankinteraktion zu verbessern. Die von MySQL-APIs gebotene Portabilität bedeutet, dass Anwendungen möglicherweise ohne größere Code-Überarbeitungen auf andere Datenbanksysteme umgestellt werden können, während sie aufgrund ihrer Skalierbarkeit für die Bewältigung erhöhter Arbeitslasten geeignet sind.

MySQL-APIs profitieren von der umfassenden Unterstützung der MySQL-Entwicklergemeinschaft, die eine Fülle von Ressourcen, Bibliotheken und Tools für Entwickler gewährleistet.

So erstellen Sie die MySQL-REST-API

DreamFactory kann REST-APIs für eine Vielzahl von Datenbanken generieren, darunter MySQL, Microsoft SQL Server, Oracle, PostgreSQL und MongoDB.

1. DreamFactory verwenden

Dazu melden Sie sich an der Verwaltungsoberfläche von DreamFactory an, navigieren zu Dienste und rufen dann die Benutzeroberfläche zur Diensterstellung auf, indem Sie auf die Schaltfläche Erstellen links daneben klicken den Bildschirm. Von dort aus wählen Sie den MySQL-Diensttyp aus, indem Sie zu API-Generierung > navigieren. Datenbank und wählen Sie dann MySQL aus unseren Datenbankoptionen aus (siehe Screenshot unten).

How to Create a MySQL REST API in asy Steps

Als nächstes werden Sie aufgefordert, einen Namen, eine Bezeichnung und eine Beschreibung anzugeben (siehe Screenshot unten). Die beiden letztgenannten werden nur zu Referenzzwecken innerhalb der Verwaltungsoberfläche verwendet. Der Namenswert ist jedoch besonders wichtig, da er, wie Sie gleich sehen werden, Teil der API-URL sein wird.

How to Create a MySQL REST API in asy Steps

Klicken Sie abschließend auf die Registerkarte Konfiguration. Hier werden Sie aufgefordert, die Anmeldeinformationen für die Datenbankverbindung anzugeben (siehe Screenshot unten). Das sollte eigentlich nichts Neues sein; Sie geben einen Hostnamen, einen Benutzernamen, ein Passwort und eine Datenbank an. Darüber hinaus können Sie optional weitere Konfigurationsmerkmale wie Treiberoptionen, Zeitzone und Caching-Einstellungen angeben. Für dieses Tutorial beschränke ich mich auf die Pflichtfelder und lasse die optionalen Funktionen unberührt.

How to Create a MySQL REST API in asy Steps

Wenn die Anmeldeinformationen vorhanden sind, klicken Sie einfach auf die Schaltfläche „Speichern“ unten auf dem Bildschirm, und ob Sie es glauben oder nicht, die REST-API wurde generiert!

2. Anzeigen der Swagger-Dokumentation

Zusammen mit der API generiert DreamFactory auch automatisch einen umfangreichen Satz interaktiver Swagger-Dokumentation für Ihre API. Sie können darauf zugreifen, indem Sie oben in der Verwaltungsoberfläche auf die Registerkarte „API-Dokumente“ klicken und dann den neu generierten Dienst nach Namen auswählen. Ihnen werden 44 Endpunkte angezeigt, die zum Ausführen gespeicherter Prozeduren, zum Durchführen von CRUD-Vorgängen, zum Abfragen von Ansichten und vielem mehr nützlich sind. Der folgende Screenshot zeigt beispielsweise nur eine kleine Teilmenge der neu generierten MySQL-REST-API-Endpunkte!

How to Create a MySQL REST API in asy Steps

3. Erstellen einer Rolle und eines API-Schlüssels

Alle von DreamFactory generierten APIs werden automatisch (mindestens) durch einen API-Schlüssel geschützt. Sie können Benutzer optional mithilfe der Basisauthentifizierung, SSO oder Verzeichnisdienste (LDAP und Active Directory) authentifizieren. Darüber hinaus können Sie jedem API-Schlüssel und/oder Benutzer eine *Rolle* zuordnen, die genau bestimmt, auf welche Dienste der Benutzer zugreifen darf. Darüber hinaus können Sie Interaktionen auf eine bestimmte Datenbanktabelle oder einen Tabellensatz, einen oder mehrere bestimmte Endpunkte beschränken und sogar einschränken, welche HTTP-Methoden zulässig sind.

Der Schutz der Benutzer, die für die Interaktion mit der MySQL-Datenbank im Namen Ihrer APIs verantwortlich sind, ist ein unglaublich wichtiger Teil des API-Entwicklungs- und Integrationsprozesses. Sehen Sie sich unsere anderen Empfehlungen zu verbesserter Datensicherheit mit MySQL-Berechtigungen und DreamFactory an

Als Beispiel erstellen wir eine neue Rolle, die den zugehörigen API-Schlüssel auf die schreibgeschützte Interaktion mit einer einzelnen Tabelle innerhalb der neu erstellten MySQL-API beschränkt. Navigieren Sie dazu zur Registerkarte „Rollen“ und klicken Sie auf die Schaltfläche „Erstellen“. Ihnen wird die im folgenden Screenshot gezeigte Benutzeroberfläche angezeigt.

Klicken Sie als Nächstes auf die Registerkarte „Zugriff“. Hier definieren Sie, was die Rolle tun kann. Im folgenden Screenshot sehen Sie, dass ich die Rolle auf die Interaktion mit dem MySQL-Dienst beschränkt habe und innerhalb dieses Dienstes die Rolle nur mit dem Endpunkt _table/employees* über die GET-Methode interagieren kann. Wir sind im Lockdown, Baby!

How to Create a MySQL REST API in asy Steps

Speichern Sie die Rolle, indem Sie auf die Schaltfläche Speichern klicken. Jetzt erstellen wir einen neuen API-Schlüssel und verknüpfen den Schlüssel mit dieser Rolle. Klicken Sie dazu auf die Registerkarte „API-Schlüssel“ unter der Dropdown-Liste „API-Typen“, wählen Sie „API-Schlüssel“ aus und klicken Sie dann auf die Schaltfläche „+“. Weisen Sie Ihrer neuen App einen Namen und eine Beschreibung zu, stellen Sie sicher, dass sie auf Aktiv eingestellt ist, und weisen Sie ihr dann die Standardrolle MySQL zu, so wie ich es im folgenden Screenshot getan habe. Was die Einstellung „App-Standort“ betrifft, sollten Sie „Kein Speicher erforderlich“ auswählen, wenn Sie planen, über eine Web- oder Mobilanwendung oder über einen anderen Webdienst mit der API zu interagieren.

How to Create a MySQL REST API in asy Steps

Drücken Sie die Schaltfläche „Speichern“ und Sie kehren zum Apps-Indexbildschirm zurück, wo der neue API-Schlüssel kopiert werden kann! Kopieren Sie den Schlüssel zur späteren Bezugnahme in eine Textdatei.

4. Konfigurieren Sie CORS für Ihre MySQL-API

Wir müssen noch einen letzten Konfigurationsschritt durchführen, bevor wir die API von außerhalb der DreamFactory-Verwaltungsoberfläche testen können. Sie müssen CORS (Cross-Origin Resource Sharing) für die neue API aktivieren. Sie finden es im Dropdown-Menü „Konfiguration“ und wählen Sie „CORS“ aus. Zu Demonstrationszwecken können Sie die standardmäßige CORS-Einstellung festlegen, wie ich es im folgenden Screenshot getan habe, wodurch API-beschränkter Datenverkehr von allen Netzwerkadressen zugelassen wird:

How to Create a MySQL REST API in asy Steps

5. Testen der MySQL REST API

Sobald die API generiert, der API-Schlüssel und die zugehörige Rolle erstellt und CORS konfiguriert sind, können Sie mit der Interaktion mit der API über einen Client beginnen! Ich verwende Insomnia gerne für HTTP-Tests unter MacOS, eine andere beliebte Lösung ist jedoch Postman.

Im folgenden Screenshot verwende ich Insomnia, um den Endpunkt /api/v2/_table/employees über eine GET-Anfrage zu kontaktieren.

How to Create a MySQL REST API in asy Steps

Denken Sie daran, dass wir diesen API-Schlüssel so gesperrt haben, dass er nur mit den Endpunkten /api/v2/_table/employees/* über die GET-Methode interagiert. Was passiert also, wenn wir versuchen, an diese Tabelle zu posten? Es wird der Statuscode 401 (Nicht autorisiert) zurückgegeben, wie im folgenden Screenshot dargestellt:

How to Create a MySQL REST API in asy Steps

How to Create a MySQL REST API in asy Steps

Alternative Ansätze zur MySQL-API-Erstellung

DreamFactory ist natürlich nicht die einzige verfügbare Lösung. Eine andere Möglichkeit, eine MySQL-REST-API zu erstellen, besteht darin, sie manuell von Hand zu codieren. Dies dauert jedoch erheblich länger und ist schwieriger. Bei der manuellen Erstellung einer API gibt es auch andere Bedenken, die man berücksichtigen muss, beispielsweise die API-Sicherheit. Hier sind ein paar kurze Tipps, wie Sie mit der manuellen Codierung Ihrer nächsten API beginnen können.

1. Installieren und richten Sie einen Webserver wie Apache oder Nginx ein und installieren Sie PHP und MySQL auf Ihrem Server

Der erste Schritt zum Aufbau einer MySQL-REST-API besteht darin, einen Webserver wie Apache oder Nginx einzurichten, der eingehende HTTP-Anfragen von Clients verarbeitet und mit entsprechenden Inhalten antwortet. Sie müssen außerdem PHP auf dem Server installieren, eine serverseitige Skriptsprache, die mit MySQL interagieren kann, um Daten abzurufen oder zu speichern. Schließlich müssen Sie MySQL installieren, ein relationales Datenbankverwaltungssystem, das Daten in Tabellen speichern und verwalten kann. Sobald Sie alle diese Komponenten eingerichtet haben, können Sie mit dem Aufbau der REST-API beginnen.

2. Erstellen Sie eine MySQL-Datenbank und eine oder mehrere Tabellen zum Speichern der Daten, die Sie über die API verfügbar machen möchten.

Eine Datenbank ist eine Sammlung zusammengehöriger Daten, die strukturiert organisiert sind, beispielsweise in Tabellen mit Spalten und Zeilen. MySQL ist ein beliebtes relationales Datenbankverwaltungssystem, mit dem Sie Datenbanken und Tabellen erstellen und verwalten können.

Um eine Datenbank in MySQL zu erstellen, können Sie den Befehl CREATE DATABASE in der MySQL-Befehlszeilenschnittstelle oder ein Tool wie phpMyAdmin verwenden.

3. Erstellen Sie ein PHP-Skript, das eine Verbindung zur Datenbank herstellt und die Daten mithilfe von SQL-Abfragen abruft.

Um von PHP aus eine Verbindung zur MySQL-Datenbank herzustellen, können Sie eine von mehreren Erweiterungen wie MySQLi oder PDO verwenden. Sobald Sie eine Verbindung hergestellt haben, können Sie SQL-Abfragen ausführen, um Daten aus der Datenbank abzurufen. Die SQL-Abfragen sollten so konzipiert sein, dass sie die Daten abrufen, die Sie über die API verfügbar machen möchten, und sollten parametrisiert sein, um SQL-Injection-Angriffe zu verhindern.

Sobald Sie die Daten aus der Datenbank abgerufen haben, können Sie sie mit den integrierten PHP-Funktionen als JSON formatieren. JSON ist ein leichtes Datenformat, das einfach zu analysieren ist und von vielen Programmiersprachen unterstützt wird.

4. Verwenden Sie die PHP Data Objects (PDO)-Erweiterung, um die SQL-Anweisungen auf sichere Weise vorzubereiten und auszuführen und die Ergebnisse abzurufen.

PDO ist eine leistungsstarke und flexible Erweiterung, die eine konsistente Schnittstelle für den Zugriff auf Datenbanken in PHP bietet. PDO kann mit einer Vielzahl von Datenbanktreibern, einschließlich MySQL, verwendet werden und bietet Funktionen wie vorbereitete Anweisungen und Parameterbindung, die dabei helfen können, SQL-Injection-Angriffe zu verhindern.

Um PDO mit MySQL zu verwenden, müssen Sie ein neues PDO-Objekt erstellen und die Verbindungsdetails für Ihre Datenbank übergeben. Anschließend können Sie eine SQL-Anweisung mit der Methode „prepare()“ vorbereiten, beliebige Parameter mit den Methoden „bindParam()“ oder „bindValue()“ binden und die Anweisung mit der Methode „execute()“ ausführen. Schließlich können Sie die Ergebnisse der Abfrage mit Methoden wie fetch(), fetchAll() oder fetchColumn() abrufen.

5. Konvertieren Sie die Daten mithilfe der Funktion json_encode() in das JSON-Format und geben Sie sie mithilfe der entsprechenden HTTP-Header (z. B. Content-Type: application/json) an den Client aus.

Die Funktion json_encode() ist eine integrierte PHP-Funktion, mit der Daten in eine JSON-formatierte Zeichenfolge konvertiert werden können. Sie können der Funktion einen beliebigen Datentyp übergeben, z. B. ein Array oder ein Objekt, und dieser wird in eine JSON-Zeichenfolge konvertiert, die problemlos von Clientanwendungen verwendet werden kann.

Sobald Sie die JSON-formatierte Zeichenfolge haben, müssen Sie sie mit den entsprechenden HTTP-Headern an den Client ausgeben. In PHP können Sie die Header mithilfe der Funktion header() festlegen, mit der Sie den Inhaltstyp und andere Metadaten zur Antwort angeben können. Um beispielsweise JSON-Daten auszugeben, können Sie den Content-Type-Header auf „application/json“ setzen.

Durch die Ausgabe der Daten im JSON-Format und das Festlegen der entsprechenden HTTP-Header können Sie sicherstellen, dass Ihre REST-API problemlos von Clientanwendungen genutzt werden kann und den Standard-Webkonventionen entspricht.

6. Umgang mit HTTP-Anfragen von Clients

HTTP-Anfragen sind die Art und Weise, wie Clients (z. B. Webbrowser oder mobile Apps) mit Ihrer API kommunizieren, um Daten anzufordern oder andere Aktionen auszuführen. Um diese Anfragen zu bearbeiten, müssen Sie PHP-Code schreiben, der die Anfrage verarbeiten und eine entsprechende Antwort zurückgeben kann.

PHP bietet mehrere Funktionen, mit denen auf Informationen zur aktuellen Anfrage zugegriffen werden kann, z. B. $_SERVER, $_GET, $_POST und $_REQUEST. Diese Variablen enthalten Informationen wie die HTTP-Methode (z. B. GET oder POST), den URL-Pfad und alle Abfrageparameter oder Anforderungskörperdaten.

Um verschiedene Arten von Anfragen zu verarbeiten, müssen Sie PHP-Code schreiben, der die eingehenden Daten analysieren und bestimmen kann, welche Maßnahmen ergriffen werden müssen. Wenn der Client beispielsweise eine GET-Anfrage stellt, um Daten von der API abzurufen, führt Ihr Code möglicherweise eine SQL-Abfrage aus, um die Daten abzurufen und sie als JSON-Antwort zurückzugeben. Wenn der Client eine POST-Anfrage zum Erstellen eines neuen Datensatzes stellt, fügt Ihr Code möglicherweise die neuen Daten in die MySQL-Datenbank ein und gibt eine Erfolgsmeldung zurück.

7. Implementieren Sie Fehlerbehandlung und Validierung, um sicherzustellen, dass die API robust und sicher ist.

Um Fehlerbehandlung und Validierung in Ihrer API zu implementieren, müssen Sie PHP-Code schreiben, der Fehler erkennen und darauf reagieren sowie Benutzereingaben validieren kann. PHP bietet mehrere integrierte Funktionen, die zur Fehlerbehandlung verwendet werden können, wie zum Beispiel trigger_error() oder set_error_handler(). Zur Validierung möchten Sie möglicherweise reguläre Ausdrücke, PHP-Filter oder benutzerdefinierte Validierungsfunktionen verwenden.

8. Stellen Sie die API auf Ihrem Webserver bereit und testen Sie sie mit Tools wie cURL oder Postman.

Um Ihre API bereitzustellen, müssen Sie die PHP-Dateien und alle anderen erforderlichen Dateien (wie CSS, JavaScript oder Bilder) auf Ihren Webserver hochladen. Abhängig von Ihrer Webserverkonfiguration müssen Sie möglicherweise Ihre .htaccess-Datei ändern, um sicherzustellen, dass die API korrekt weitergeleitet wird.

Sobald Ihre API bereitgestellt ist, können Sie sie mit Tools wie cURL oder Postman testen. Mit diesen Tools können Sie HTTP-Anfragen an Ihre API senden und die Antwortdaten überprüfen. Mit diesen Tools können Sie verschiedene Arten von Anforderungen testen (z. B. GET, POST, PUT oder DELETE), die Fehlerbehandlung und -validierung testen und sicherstellen, dass die API die richtigen Daten im richtigen Format (z. B. JSON oder XML) zurückgibt ).

Beim Testen Ihrer API ist es wichtig, auf Leistung, Sicherheit und Benutzerfreundlichkeit zu achten. Sie sollten Ihre API unter verschiedenen Bedingungen testen (z. B. hoher Datenverkehr oder langsame Netzwerkverbindungen), um sicherzustellen, dass sie gut funktioniert und stabil bleibt. Sie sollten Ihre API auch auf Sicherheitslücken testen (z. B. SQL-Injection oder Cross-Site-Scripting) und sicherstellen, dass sie für Kunden einfach zu verwenden und zu verstehen ist.

Hier ist ein Beispiel-PHP-Code für eine einfache REST-API, die Daten aus einer MySQL-Datenbank abruft:

How to Create a MySQL REST API in asy Steps

Wohin von hier aus?

Ob Sie es glauben oder nicht, wir haben nur an der Oberfläche gekratzt, was DreamFactory für Sie tun kann. Wenn Sie unsere SQL Server-, Oracle- oder MongoDB-Konnektoren in Aktion sehen oder sehen möchten, wie einfach es ist, einen SOAP-Dienst in REST zu konvertieren, ohne Code zu schreiben, vereinbaren Sie doch einen Termin mit unserem Engineering-Team! Besuchen Sie https://www.dreamfactory.com/products und vereinbaren Sie noch heute eine Demo!

Andere Datenbanken, die DreamFactory unterstützt:

  • MongoDB
  • SQL Server
  • IBM DB2

Der Beitrag „So erstellen Sie eine MySQL-REST-API in 6 einfachen Schritten“ erschien zuerst im DreamFactory Software-Blog.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie in einfachen Schritten eine MySQL-REST-API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage