Buat RESTful API menggunakan Python dan MySQL

Programming

[ad_1]
Selamat datang Gaes di suratpembaca.web.id. Hari ini kita akan membicarakan tentang Linux yakni Buat RESTful API menggunakan Python dan MySQL

.

Semoga postingan mengenai Buat RESTful API menggunakan Python dan MySQL

dapat memberikan manfaat bagi Sahabat semua. Yuk baca artikel ini
sampai tuntas.

RESTFul API adalah konsep lanjutan pengembangan web yang diimplementasikan pada server menggunakan metode HTTP (DAPATKAN / POSTING / PUT / HAPUS) Untuk menangani data. Metode dan sumber daya permintaan HTTP diidentifikasi menggunakan URI, dan operasi dikelola sesuai dengan itu.

Jika Anda berpikir untuk mengimplementasikan API RESTful Python, Anda berada di tempat yang tepat. Dalam tutorial kami sebelumnya, Anda telah mempelajari cara mengimplementasikan RESTFul API dengan CodeIgniter. Dalam tutorial ini Anda akan belajar cara membuat Python RESTFul API menggunakan MYSQL.

Kami menyediakan tutorial ini dengan contoh langsung menggunakan metode HTTP seperti (DAPATKAN / POSTING / PUT / HAPUS) Untuk mengimplementasikan Python RESTFul API dengan operasi CRUD.

Kami harap Anda telah menginstal Python di Windows atau Linux Anda dengan Python dan paket-paketnya. Disini kami menggunakan Python versi 3.10.4. Kami akan menggunakan flaskkan flask-mysql Dan flask-cors Modul.

Baca juga:

Jadi mari kita buat RESTful API menggunakan Python dan MySQL. Kami memiliki direktori proyek restful-api-python Dan file utamanya adalah:

Langkah 1: Buat tabel database MySQL

Saat kami mengimplementasikan RESTful API untuk operasi CRUD, kami juga akan membuat tabel database MySQL. emp Untuk melakukan operasi, pertama-tama kita buat database MySQL rest-api Dan kemudian buat tabelnya emp Menggunakan perintah untuk membuat tabel di bawah ini


CREATE TABLE `emp` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `phone` varchar(16) DEFAULT NULL,
  `address` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `emp`
  ADD PRIMARY KEY (`id`);
  
ALTER TABLE `emp`
 MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

Langkah 2: Masukkan modul labu

Saat kami mengelola menggunakan fungsi REST API Flask Dan MySQL, Jadi kita akan membutuhkan kedua modul. modul Flask Saat bekerja sebagai kerangka kerja web MySQL Modul ini diperlukan untuk terhubung ke database MySQL.

Jadi pertama-tama kita buat direktori proyek restful-api-python Dan bergerak menggunakan cd Memerintah

Kemudian kita akan menginstal flask Modul dengan menjalankan perintah berikut


pip install Flask

Kami juga akan menginstal flask-cors Aplikasi ekstensi berbagi sumber daya (CORS), yang memungkinkan lintas sumber.


pip install -U flask-cors

Jadi sekarang kita akan membuatnya app.py Skrip python dan masukkan flask Modul dan buat flask Contoh untuk digunakan dengan MySQL Modul. Kita juga akan memasukkan kode> extension flask-cors untuk cross source.


from flask import Flask
from flask_cors import CORS, cross_origin

app = Flask(__name__)
CORS(app)

Ste3: Buat koneksi MySQL

Kita harus menginstal Flask-MySQL Ekstensi yang memungkinkan Anda mengakses database MySQL. Kami akan menginstal Flask-MySQL Ekstensi menggunakan perintah berikut


pip install flask-mysql

Kami akan membuat config.py File python untuk menginisialisasi detail koneksi database MySQL untuk terhubung ke database MySQL. Kami akan mengimpor app Script untuk mengelola komunikasi database MySQL dengan Flask-MySQL Modul.

Seperti yang kita buat database MySQL sebelumnya rest-apiJadi kami akan terhubung dengan memberikan detail koneksi.


from app import app
from flaskext.mysql import MySQL

mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = ''
app.config['MYSQL_DATABASE_DB'] = 'rest-api'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)

Langkah 4: Buat operasi REST API CRUD

Kami akan membuat main.py Skrip dan masukkan app Dan config Modul Kami terhubung ke database MySQL dan mengimplementasikan operasi CRUD dengan mendefinisikan semua REST URI.

Di sini kami telah menggunakan POST Metode HTTP untuk membuat record karyawan baru di database MySQL. kami telah menggunakan GET Metode HTTP digunakan untuk mengambil semua catatan karyawan atau catatan individu PUT Metode HTTP untuk memperbarui riwayat karyawan. Juga telah dilaksanakan DELETE Metode HTTP untuk menghapus catatan. Jika tidak ada catatan yang ditemukan, metode 404 didefinisikan untuk menangani kesalahan yang tidak ditemukan.


import pymysql
from app import app
from config import mysql
from flask import jsonify
from flask import flash, request

@app.route('/create', methods=['POST'])
def create_emp():
    try:        
        _json = request.json
        _name = _json['name']
        _email = _json['email']
        _phone = _json['phone']
        _address = _json['address']	
        if _name and _email and _phone and _address and request.method == 'POST':
            conn = mysql.connect()
            cursor = conn.cursor(pymysql.cursors.DictCursor)		
            sqlQuery = "INSERT INTO emp(name, email, phone, address) VALUES(%s, %s, %s, %s)"
            bindData = (_name, _email, _phone, _address)            
            cursor.execute(sqlQuery, bindData)
            conn.commit()
            respone = jsonify('Employee added successfully!')
            respone.status_code = 200
            return respone
        else:
            return showMessage()
    except Exception as e:
        print(e)
    finally:
        cursor.close() 
        conn.close()          
     
@app.route('/emp')
def emp():
    try:
        conn = mysql.connect()
        cursor = conn.cursor(pymysql.cursors.DictCursor)
        cursor.execute("SELECT id, name, email, phone, address FROM emp")
        empRows = cursor.fetchall()
        respone = jsonify(empRows)
        respone.status_code = 200
        return respone
    except Exception as e:
        print(e)
    finally:
        cursor.close() 
        conn.close()  

@app.route('/emp/')
def emp_details(emp_id):
    try:
        conn = mysql.connect()
        cursor = conn.cursor(pymysql.cursors.DictCursor)
        cursor.execute("SELECT id, name, email, phone, address FROM emp WHERE id =%s", emp_id)
        empRow = cursor.fetchone()
        respone = jsonify(empRow)
        respone.status_code = 200
        return respone
    except Exception as e:
        print(e)
    finally:
        cursor.close() 
        conn.close() 

@app.route('/update', methods=['PUT'])
def update_emp():
    try:
        _json = request.json
        _id = _json['id']
        _name = _json['name']
        _email = _json['email']
        _phone = _json['phone']
        _address = _json['address']
        if _name and _email and _phone and _address and _id and request.method == 'PUT':			
            sqlQuery = "UPDATE emp SET name=%s, email=%s, phone=%s, address=%s WHERE id=%s"
            bindData = (_name, _email, _phone, _address, _id,)
            conn = mysql.connect()
            cursor = conn.cursor()
            cursor.execute(sqlQuery, bindData)
            conn.commit()
            respone = jsonify('Employee updated successfully!')
            respone.status_code = 200
            return respone
        else:
            return showMessage()
    except Exception as e:
        print(e)
    finally:
        cursor.close() 
        conn.close() 

@app.route('/delete/', methods=['DELETE'])
def delete_emp(id):
	try:
		conn = mysql.connect()
		cursor = conn.cursor()
		cursor.execute("DELETE FROM emp WHERE id =%s", (id,))
		conn.commit()
		respone = jsonify('Employee deleted successfully!')
		respone.status_code = 200
		return respone
	except Exception as e:
		print(e)
	finally:
		cursor.close() 
		conn.close()
        
       
@app.errorhandler(404)
def showMessage(error=None):
    message = 
        'status': 404,
        'message': 'Record not found: ' + request.url,
    
    respone = jsonify(message)
    respone.status_code = 404
    return respone
        
if __name__ == "__main__":
    app.run()

Langkah 5: Jalankan program

Sekarang kita pergi ke direktori proyek restful-api-python Dan jalankan perintah python main.py Dan server diatur pada port default 5000. Kami akan menggunakannya sekarang Tukang pos Untuk menjalankan API RESTful Python dengan (Posting, terima, tempel, atau hapus) Metode tes

Jalankan URL berikut melalui HTTP GET Cara untuk mendapatkan semua karyawan dan menampilkan data dalam format JSON.


http://localhost:5000/emp

Data JSON berikut akan dikembalikan:

Kami menerima catatan karyawan dalam data JSON dengan ID 1 menggunakan URL berikut GET metode HTTP


http://localhost:5000/emp/1

Jawaban untuk data JSON adalah:

Kami akan membuat rekor karyawan baru dengan POST metode HTTP


http://localhost:5000/create

Badan aplikasi akan menjadi sebagai berikut:

Respon Karyawan Data JSON menambahkan pesan.

Kami akan memperbarui riwayat karyawan yang ada menggunakan No. 1 PUT metode HTTP


http://localhost:5000/update

Badan aplikasi akan menjadi sebagai berikut:

Karyawan membalas pesan pembaruan.

Kami akan menghapus karyawan yang ada dengan nomor ID 3 yang menggunakannya DELETE metode HTTP


http://localhost:5000/delete/4

Karyawan itu membalas pesan penghapusan.

Anda telah menyelesaikan tutorial Python RESTFul API menggunakan Flask dan MySQL dengan sebuah contoh. Anda dapat menerapkan ini dalam proyek Anda sesuai dengan kebutuhan Anda. Jika Anda memiliki pertanyaan, Anda dapat mengirimkan komentar berharga Anda. Terima kasih!

Anda mungkin juga menyukai:

Anda dapat mengunduh skrip lengkap dari tautan unduhan di bawah ini.

Unduh

Demikian materi tentang Buat RESTful API menggunakan Python dan MySQL

, terimakasih telah berkunjung di website ini, mudah-mudahan postingannya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.