Rumah >pangkalan data >tutorial mysql >Cara Mencipta MySQL REST API dalam Langkah-langkah asy

Cara Mencipta MySQL REST API dalam Langkah-langkah asy

王林
王林asal
2024-07-25 11:40:21864semak imbas

How to Create a MySQL REST API in asy Steps

Menurut tinjauan StackOverflow 2022, 46% pembangun profesional menilai MySQL sebagai pangkalan data paling popular untuk digunakan dalam ruang kerja. Sebagai pengaturcara, kita tidak perlu diganggu dengan menulis kod berulang kali yang sebaliknya tersedia, teguh dan diuji dengan baik.

Namun masalah ini kekal berterusan dalam ruang REST API, walaupun proses pelaksanaannya berada pada tahap ini dalam hafalan masa, berulang dan terdedah kepada ralat dan pengawasan. Pengawasan ini mahal kerana beberapa sebab:

  • Pengguna akhir hanya *tidak peduli* bagaimana API itu dilaksanakan, bermakna tiada kelebihan daya saing yang boleh diperolehi dengan mencipta API baharu untuk setiap projek.
  • Ralat dan pengawasan dalam fasa pelaksanaan dan penggunaan API boleh datang pada harga yang sangat tinggi disebabkan oleh kesilapan keselamatan dan isu prestasi.
  • Membina API sekali sahaja bermakna ia tidak boleh diurus melalui satu platform; melainkan pasukan memutuskan untuk menumpukan lebih banyak masa dan usaha untuk membina penyelesaian pengurusan tersuai.

Nasib baik bagi kami pengaturcara, platform DreamFactory boleh membebaskan pasukan anda dengan mudah daripada semua kerumitan ini dan banyak lagi dengan menawarkan penyelesaian terpusat untuk dokumentasi, penjanaan dan keselamatan API. Dalam tutorial ini, anda akan mengetahui betapa mudahnya membina, mengamankan dan menggunakan API REST untuk pangkalan data MySQL anda.

Jadual Kandungan

  • Apakah itu MySQL REST API?
  • Mengapa MySQL REST API Penting?
    • 1. Menggunakan DreamFactory
    • 2. Menjana MySQL REST API
    • 3. Melihat Dokumentasi Swagger
    • 4. Mencipta Peranan dan Kunci API
    • 5. Mengkonfigurasi CORS untuk API MySQL anda
    • 6. Menguji MySQL REST API
  • Pendekatan Alternatif untuk Penciptaan API MySQL
  • Dari Mana

Apakah MySQL REST API?

API MySQL, ialah satu set fungsi, protokol dan alatan yang membenarkan pembangun berinteraksi dengan pangkalan data MySQL secara pengaturcaraan daripada aplikasi atau skrip mereka.

API ini menyediakan cara untuk aplikasi menghantar pertanyaan ke pangkalan data MySQL, mendapatkan semula data, mengubah suai data dan melaksanakan pelbagai operasi pangkalan data. Ia bertindak sebagai lapisan perantara antara kod aplikasi dan pelayan pangkalan data, memudahkan komunikasi yang lancar dan manipulasi data.

API MySQL biasa termasuk MySQL Connector/ODBC, MySQL Connector/J (untuk Java), MySQLi (untuk PHP) dan banyak lagi, setiap satunya disesuaikan dengan bahasa pengaturcaraan atau rangka kerja tertentu.

Mengapa MySQL REST API Penting?

API MySQL memainkan peranan penting dalam pembangunan perisian dengan memudahkan interaksi antara aplikasi dan pangkalan data MySQL.

API ini bertindak sebagai 'di antara', mengabstraksi kerumitan operasi pangkalan data dan menyediakan antara muka piawai untuk pembangun. Kepentingan mereka terletak pada membolehkan aplikasi menyimpan, mendapatkan semula, mengubah suai dan mengurus data dengan cekap.

API MySQL menawarkan keserasian dengan pelbagai bahasa pengaturcaraan dan rangka kerja, membolehkan pembangun bekerja dengan MySQL menggunakan alatan pilihan mereka. Mereka meningkatkan keselamatan dengan menawarkan ciri seperti pernyataan yang disediakan dan pengesahan input untuk melindungi daripada kelemahan keselamatan biasa seperti suntikan SQL.

Ciri pengoptimuman prestasi seperti pengumpulan sambungan dan caching membantu meningkatkan kecekapan interaksi pangkalan data. Kemudahalihan yang diberikan oleh MySQL API bermakna aplikasi berpotensi beralih kepada sistem pangkalan data yang berbeza tanpa baik pulih kod utama, manakala keupayaan berskalanya menjadikannya sesuai untuk mengendalikan beban kerja yang meningkat.

API MySQL mendapat manfaat daripada sokongan meluas komuniti pembangun MySQL, memastikan banyak sumber, perpustakaan dan alatan untuk pembangun.

Cara Mencipta MySQL REST API

DreamFactory boleh menjana API REST untuk pelbagai pangkalan data, antaranya MySQL, Microsoft SQL Server, Oracle, PostgreSQL dan MongoDB.

1. Menggunakan DreamFactory

Untuk berbuat demikian, anda akan log masuk ke antara muka pentadbiran DreamFactory, navigasi ke Perkhidmatan dan kemudian masukkan antara muka penciptaan perkhidmatan dengan mengklik pada butang Buat yang terletak di sebelah kiri skrin. Dari sana anda akan memilih jenis perkhidmatan MySQL dengan menavigasi ke Generasi API > Pangkalan data, kemudian pilih MySQL daripada pilihan pangkalan data kami (lihat tangkapan skrin di bawah).

How to Create a MySQL REST API in asy Steps

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 bukti kelayakan tersedia, 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 Dipertingkat 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 _table/employees* titik akhir 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, kemudian klik butang ‘+’. Berikan nama dan perihalan kepada Apl baharu anda, pastikan ia ditetapkan kepada Aktif, dan kemudian berikannya 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 daripada 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 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 memformatkannya 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 klien.

Setelah 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 membalas 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 alat 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 perkara 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

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

Atas ialah kandungan terperinci Cara Mencipta MySQL REST API dalam Langkah-langkah asy. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn