Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

王林
Freigeben: 2024-07-25 11:40:21
Original
552 人浏览过

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 besteht dieses Problem weiterhin im REST-API-Bereich, 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.
  • Der wiederholte Aufbau 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. Mit 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 ihren bevorzugten Tools mit MySQL 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 durch 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 und stellen eine Fülle von Ressourcen, Bibliotheken und Tools für Entwickler sicher.

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 bei der DreamFactory-Verwaltungsoberfläche an, navigieren zu „Dienste“ und rufen dann die Schnittstelle zur Diensterstellung auf, indem Sie auf die Schaltfläche „Erstellen“ links auf dem Bildschirm klicken. 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).

Seterusnya anda akan digesa untuk memberikan nama, label dan perihalan (di bawah tangkapan skrin). Dua yang terakhir digunakan hanya untuk tujuan rujukan dalam antara muka pentadbiran, namun nilai nama amat penting kerana seperti yang anda akan lihat tidak lama lagi, ia akan merangkumi sebahagian daripada URL API.

How to Create a MySQL REST API in asy Steps

Akhir sekali, klik pada tab Config. Di sini anda akan digesa untuk memberikan bukti kelayakan sambungan pangkalan data (lihat tangkapan skrin di bawah). Ini sepatutnya bukan sesuatu yang baru; anda akan membekalkan nama hos, nama pengguna, kata laluan dan pangkalan data. Selain itu, anda boleh secara pilihan menentukan ciri konfigurasi lain seperti pilihan pemacu, zon waktu dan keutamaan caching. Untuk tujuan tutorial ini, saya akan berpegang pada medan yang diperlukan dan membiarkan ciri pilihan tidak disentuh.

How to Create a MySQL REST API in asy Steps

Dengan kelayakan sedia ada, hanya tekan butang Simpan di bahagian bawah skrin, dan percaya atau tidak REST API telah dijana!

2. Melihat Dokumentasi Swagger

Bersama-sama dengan API, DreamFactory juga akan menjana secara automatik satu set dokumentasi Swagger interaktif yang meluas untuk API anda. Anda boleh mengaksesnya dengan mengklik pada tab Dokumen API yang terletak di bahagian atas antara muka pentadbiran, dan kemudian memilih perkhidmatan yang baru dijana mengikut nama. Anda akan dibentangkan dengan 44 titik akhir yang berguna untuk melaksanakan prosedur tersimpan, menjalankan operasi CRUD, menyoal pandangan dan banyak lagi. Sebagai contoh, tangkapan skrin berikut menunjukkan hanya subset kecil titik akhir MySQL REST API yang baru dijana!

How to Create a MySQL REST API in asy Steps

3. Mencipta Peranan dan Kunci API

Semua API yang dijana DreamFactory dilindungi secara automatik oleh (sekurang-kurangnya) kunci API. Anda boleh memilih untuk mengesahkan pengguna menggunakan pengesahan asas, SSO atau Perkhidmatan Direktori (LDAP dan Active Directory). Tambahan pula, anda boleh mengaitkan setiap kunci API dan/atau pengguna dengan *peranan* yang menentukan dengan tepat perkhidmatan yang dibenarkan untuk diakses oleh pengguna. Bukan itu sahaja, anda boleh mengehadkan interaksi kepada jadual pangkalan data atau set jadual tertentu, titik akhir tertentu dan juga menyekat kaedah HTTP yang dibenarkan.

Melindungi pengguna yang bertanggungjawab untuk berinteraksi dengan pangkalan data MySQL bagi pihak API anda ialah bahagian yang sangat penting dalam proses pembangunan dan penyepaduan API. Lihat cadangan kami yang lain tentang Keselamatan Data yang Dipertingkatkan dengan Keistimewaan MySQL dan DreamFactory

Sebagai contoh, mari kita cipta peranan baharu yang mengehadkan kunci API yang berkaitan untuk berinteraksi dengan satu jadual dalam fesyen baca sahaja dalam API MySQL yang baru dibuat. Untuk berbuat demikian, navigasi ke tab Peranan, dan klik butang Cipta. Anda akan dipaparkan dengan antara muka yang terdapat dalam tangkapan skrin di bawah.

Seterusnya, klik tab Akses. Di sinilah anda akan menentukan perkara yang boleh dilakukan oleh peranan itu. Dalam tangkapan skrin di bawah, anda akan melihat saya telah mengehadkan peranan untuk berinteraksi dengan perkhidmatan MySQL, dan dalam perkhidmatan itu peranan hanya boleh berinteraksi dengan titik akhir _jadual/pekerja* melalui kaedah GET. Kami sedang berkurung sayang!

How to Create a MySQL REST API in asy Steps

Simpan peranan dengan mengklik butang Simpan. Kini kami akan mencipta kunci API baharu dan mengaitkan kunci dengan peranan ini. Untuk berbuat demikian, klik pada tab Kunci API yang terletak di bawah lungsur jenis API dan pilih Kunci API, dan kemudian klik butang ‘+’. Berikan nama dan perihalan kepada Apl baharu anda, pastikan ia ditetapkan kepada Aktif, dan kemudian tetapkan ia sebagai peranan lalai MySQL seperti yang saya lakukan dalam tangkapan skrin di bawah. Mengenai tetapan Lokasi Apl, menganggap anda merancang untuk berinteraksi dengan API melalui aplikasi web atau mudah alih, atau melalui perkhidmatan web lain, maka anda perlu memilih "Tiada storan diperlukan".

How to Create a MySQL REST API in asy Steps

Tekan butang Simpan dan anda akan dikembalikan ke skrin indeks Apl di mana kunci API baharu boleh disalin! Salin kunci ke dalam fail teks untuk rujukan kemudian.

4. Mengkonfigurasi CORS untuk API MySQL anda

Kami mempunyai satu langkah konfigurasi terakhir sebelum dapat menguji API dari luar antara muka pentadbiran DreamFactory. Anda perlu mendayakan CORS (Cross-Origin Resource Sharing) untuk API baharu. Anda boleh menemuinya di bawah menu lungsur Config dan memilih CORS. Untuk tujuan demonstrasi, anda boleh menetapkan tetapan CORS lalai seperti yang saya lakukan dalam tangkapan skrin di bawah, yang akan membenarkan trafik terhad API dari semua alamat rangkaian:

How to Create a MySQL REST API in asy Steps

5. Menguji MySQL REST API

Dengan API yang dijana, kunci API dan peranan yang berkaitan dicipta serta CORS dikonfigurasikan, anda sudah bersedia untuk mula berinteraksi dengan API melalui pelanggan! Saya suka menggunakan Insomnia untuk ujian HTTP pada MacOS, namun penyelesaian popular lain ialah Postman.

Dalam tangkapan skrin berikut saya menggunakan Insomnia untuk menghubungi titik akhir /api/v2/_table/employees menggunakan permintaan GET.

How to Create a MySQL REST API in asy Steps

Ingat bahawa kami telah mengunci kunci API ini untuk hanya berinteraksi dengan titik akhir /api/v2/_table/employees/* menggunakan kaedah GET. Jadi apa yang berlaku jika kita cuba POS ke jadual ini? Kod status 401 (Tidak dibenarkan) dikembalikan, seperti yang digambarkan dalam tangkapan skrin berikut:

How to Create a MySQL REST API in asy Steps

How to Create a MySQL REST API in asy Steps

Pendekatan Alternatif untuk Penciptaan API MySQL

Jelas sekali, DreamFactory bukanlah satu-satunya penyelesaian yang tersedia. Satu lagi cara anda boleh mencipta MySQL REST API adalah dengan mengekodnya secara manual, namun ia mengambil masa yang lebih lama dan lebih sukar. Terdapat juga kebimbangan lain yang perlu dibimbangkan semasa membuat API secara manual, seperti keselamatan API. Berikut ialah beberapa petua ringkas tentang cara anda boleh memulakan pengekodan API anda yang seterusnya secara manual.

1. Pasang dan sediakan pelayan web seperti Apache atau Nginx, dan pasang PHP dan MySQL pada pelayan anda

Langkah pertama untuk membina MySQL REST API ialah menyediakan pelayan web, seperti Apache atau Nginx, yang akan mengendalikan permintaan HTTP yang masuk daripada pelanggan dan bertindak balas dengan kandungan yang sesuai. Anda juga perlu memasang PHP pada pelayan, yang merupakan bahasa skrip sebelah pelayan yang boleh berinteraksi dengan MySQL untuk mendapatkan atau menyimpan data. Akhir sekali, anda perlu memasang MySQL, iaitu sistem pengurusan pangkalan data hubungan yang boleh menyimpan dan mengurus data dalam jadual. Setelah anda menyediakan semua komponen ini, anda akan bersedia untuk mula membina REST API.

2. Cipta pangkalan data MySQL dan jadual untuk menyimpan data yang anda ingin dedahkan melalui API.

Pangkalan data ialah koleksi data berkaitan yang disusun secara berstruktur, seperti dalam jadual dengan lajur dan baris. MySQL ialah sistem pengurusan pangkalan data hubungan popular yang membolehkan anda mencipta dan mengurus pangkalan data dan jadual.

Untuk mencipta pangkalan data dalam MySQL, anda boleh menggunakan arahan CREATE DATABASE dalam antara muka baris arahan MySQL atau alat seperti phpMyAdmin.

3. Buat skrip PHP yang menyambung ke pangkalan data dan mendapatkan semula data menggunakan pertanyaan SQL.

Untuk menyambung ke pangkalan data MySQL daripada PHP, anda boleh menggunakan salah satu daripada beberapa sambungan seperti MySQLi atau PDO. Sebaik sahaja anda telah mewujudkan sambungan, anda boleh melaksanakan pertanyaan SQL untuk mendapatkan semula data daripada pangkalan data. Pertanyaan SQL hendaklah direka bentuk untuk mendapatkan semula data yang ingin anda dedahkan melalui API dan harus diparameterkan untuk mengelakkan serangan suntikan SQL.

Sebaik sahaja anda telah mendapatkan semula data daripada pangkalan data, anda boleh memformatnya sebagai JSON menggunakan fungsi terbina dalam PHP. JSON ialah format data ringan yang mudah dihuraikan dan disokong oleh banyak bahasa pengaturcaraan.

4. Gunakan sambungan PHP Data Objects (PDO) untuk menyediakan dan melaksanakan penyata SQL dengan cara yang selamat dan dapatkan hasilnya.

PDO ialah sambungan yang berkuasa dan fleksibel yang menyediakan antara muka yang konsisten untuk mengakses pangkalan data dalam PHP. PDO boleh digunakan dengan pelbagai pemacu pangkalan data, termasuk MySQL, dan menyediakan ciri seperti pernyataan yang disediakan dan pengikatan parameter, yang boleh membantu mencegah serangan suntikan SQL.

Untuk menggunakan PDO dengan MySQL, anda perlu mencipta objek PDO baharu dan memasukkan butiran sambungan untuk pangkalan data anda. Anda kemudiannya boleh menyediakan pernyataan SQL menggunakan kaedah prepare(), mengikat mana-mana parameter menggunakan kaedah bindParam() atau bindValue() dan laksanakan pernyataan menggunakan kaedah execute(). Akhir sekali, anda boleh mengambil hasil pertanyaan menggunakan kaedah seperti fetch(), fetchAll(), atau fetchColumn().

5. Tukar data kepada format JSON menggunakan fungsi json_encode() dan keluarkannya kepada klien menggunakan pengepala HTTP yang sesuai (cth., Content-Type: application/json).

Fungsi json_encode() ialah fungsi PHP terbina dalam yang boleh digunakan untuk menukar data kepada rentetan berformat JSON. Anda boleh menghantar sebarang jenis data kepada fungsi, seperti tatasusunan atau objek, dan ia akan ditukar kepada rentetan JSON yang boleh digunakan dengan mudah oleh aplikasi pelanggan.

Sebaik sahaja anda mempunyai rentetan berformat JSON, anda perlu mengeluarkannya kepada klien menggunakan pengepala HTTP yang sesuai. Dalam PHP, anda boleh menetapkan pengepala menggunakan fungsi pengepala(), yang membolehkan anda menentukan jenis kandungan dan metadata lain tentang respons. Contohnya, untuk mengeluarkan data JSON, anda boleh menetapkan pengepala Jenis Kandungan kepada "aplikasi/json".

Dengan mengeluarkan data dalam format JSON dan menetapkan pengepala HTTP yang sesuai, anda boleh memastikan API REST anda mudah digunakan oleh aplikasi klien dan mematuhi konvensyen web standard.

6. Mengendalikan Permintaan HTTP Daripada Pelanggan

Permintaan HTTP ialah cara pelanggan (seperti penyemak imbas web atau apl mudah alih) berkomunikasi dengan API anda untuk meminta data atau melakukan tindakan lain. Untuk mengendalikan permintaan ini, anda perlu menulis kod PHP yang boleh memproses permintaan dan mengembalikan respons yang sesuai.

PHP menyediakan beberapa fungsi yang boleh digunakan untuk mengakses maklumat tentang permintaan semasa, seperti $_SERVER, $_GET, $_POST dan $_REQUEST. Pembolehubah ini mengandungi maklumat seperti kaedah HTTP (cth. GET atau POST), laluan URL dan sebarang parameter pertanyaan atau data badan permintaan.

Untuk mengendalikan pelbagai jenis permintaan, anda perlu menulis kod PHP yang boleh menganalisis data masuk dan menentukan tindakan yang perlu diambil. Sebagai contoh, jika pelanggan membuat permintaan GET untuk mendapatkan semula data daripada API, kod anda mungkin melaksanakan pertanyaan SQL untuk mendapatkan semula data dan mengembalikannya sebagai respons JSON. Jika pelanggan membuat permintaan POST untuk mencipta rekod baharu, kod anda mungkin memasukkan data baharu ke dalam pangkalan data MySQL dan mengembalikan mesej kejayaan.

7. Laksanakan pengendalian dan pengesahan ralat untuk memastikan bahawa API adalah teguh dan selamat.

Untuk melaksanakan pengendalian dan pengesahan ralat dalam API anda, anda perlu menulis kod PHP yang boleh mengesan dan bertindak balas kepada ralat serta mengesahkan input pengguna. PHP menyediakan beberapa fungsi terbina dalam yang boleh digunakan untuk pengendalian ralat, seperti trigger_error() atau set_error_handler(). Untuk pengesahan, anda mungkin mahu menggunakan ungkapan biasa, penapis PHP atau fungsi pengesahan tersuai.

8. Sebarkan API ke pelayan web anda dan ujinya menggunakan alat seperti cURL atau Postman.

Untuk menggunakan API anda, anda perlu memuat naik fail PHP dan sebarang fail lain yang diperlukan (seperti CSS, JavaScript atau imej) ke pelayan web anda. Bergantung pada konfigurasi pelayan web anda, anda mungkin perlu mengubah suai fail .htaccess anda untuk memastikan laluan API dengan betul.

Setelah API anda digunakan, anda boleh mengujinya menggunakan alatan seperti cURL atau Postman. Alat ini membolehkan anda menghantar permintaan HTTP ke API anda dan memeriksa data respons. Anda boleh menggunakan alatan ini untuk menguji jenis permintaan yang berbeza (seperti GET, POST, PUT atau DELETE), ujian pengendalian dan pengesahan ralat dan memastikan bahawa API mengembalikan data yang betul dalam format yang betul (seperti JSON atau XML ).

Apabila menguji API anda, adalah penting untuk memberi perhatian kepada prestasi, keselamatan dan kebolehgunaan. Anda harus menguji API anda dalam keadaan yang berbeza (seperti trafik tinggi atau sambungan rangkaian perlahan) untuk memastikan ia berfungsi dengan baik dan kekal stabil. Anda juga harus menguji API anda untuk kelemahan keselamatan (seperti suntikan SQL atau skrip merentas tapak), dan memastikan ia mudah digunakan dan difahami untuk pelanggan.

Berikut ialah contoh kod PHP untuk API REST mudah yang mendapatkan semula data daripada pangkalan data MySQL:

How to Create a MySQL REST API in asy Steps

Dari mana hendak pergi?

Percaya atau tidak, kami hanya menconteng dari segi apa yang DreamFactory boleh lakukan untuk anda. Jika anda ingin melihat penyambung SQL Server, Oracle atau MongoDB kami beraksi, atau ingin melihat betapa mudahnya untuk menukar perkhidmatan SOAP kepada REST tanpa menulis sebarang kod, apa kata jadualkan demo dengan pasukan kejuruteraan kami! Pergi ke https://www.dreamfactory.com/products dan jadualkan demo hari ini!

Pangkalan Data Lain yang Menyokong DreamFactory:

  • MongoDB
  • SQL Server
  • IBM DB2

Siaran Cara Mencipta MySQL REST API dalam 6 Langkah Mudah mula-mula muncul di DreamFactory Software- Blog.

以上是So erstellen Sie in einfachen Schritten eine MySQL-REST-API的详细内容。更多信息请关注PHP中文网其他相关文章!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!