Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengaturcaraan Pelayan Python: Membina API RESTful dengan Flask

Pengaturcaraan Pelayan Python: Membina API RESTful dengan Flask

王林
王林asal
2023-06-18 09:50:271204semak imbas

Pengaturcaraan pelayan Python: Gunakan Flask untuk membina API RESTful

Python sentiasa menjadi salah satu bahasa popular untuk membangunkan aplikasi web Ia adalah mudah untuk digunakan, kaya dengan ciri, fleksibel dan bahasa yang cekap. Menggunakan API RESTful dalam aplikasi web telah menjadi trend yang sangat popular. Menggunakan rangka kerja Flask dalam Python ialah pilihan yang bagus untuk pengaturcaraan web dan membina API RESTful. Dalam artikel ini, kami akan melihat secara mendalam tentang cara membina API RESTful menggunakan rangka kerja Flask.

Pertama, kita perlu memahami API RESTful. RESTful API ialah gaya reka bentuk API berdasarkan protokol HTTP/HTTPS, yang menggunakan antara muka bersatu untuk menghantar data antara klien dan pelayan. API RESTful mempunyai ciri-ciri berikut:

  • Tidak Berstatus
  • Skalabiliti
  • Pengecam Sumber
  • Berdasarkan protokol HTTP

Seterusnya, kami akan menggunakan rangka kerja Flask untuk membina API RESTful. Flask ialah rangka kerja web ringan yang ditulis dalam Python yang mudah dipelajari dan digunakan. Rangka kerja Flask mempunyai perpustakaan pengembangan yang kaya yang boleh memenuhi pelbagai keperluan. Faedah menggunakan rangka kerja Flask termasuk:

  • Kod ringkas dan penyelenggaraan mudah
  • Fleksibiliti tinggi dan sokongan untuk pelbagai jenis projek
  • Ringan dan prestasi tinggi
  • Amat mudah untuk menulis API RESTful

Mula-mula anda perlu memasang rangka kerja Flask, yang boleh dipasang melalui arahan berikut:

pip install flask

Seterusnya, kita mulakan untuk menggunakan rangka kerja Flask untuk membina API RESTful. Pertama, kita perlu menulis program Hello World untuk mengesahkan bahawa rangka kerja Flask telah dipasang dengan betul. Kami boleh mentakrifkan aplikasi Flask dan menentukan laluan '/' untuk mengendalikan permintaan. Kodnya adalah seperti berikut:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def helloWorld():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(debug=True)

Masukkan 'http://localhost:5000/' dalam penyemak imbas, 'Hello, World!' akan dipaparkan.

Seterusnya, kami akan memperkenalkan cara menggunakan rangka kerja Flask untuk membina API RESTful.

Pertama, kami mentakrifkan aplikasi Flask dan mencipta laluan untuk membalas permintaan GET Kodnya adalah seperti berikut:

from flask import Flask, jsonify

app = Flask(__name__)
books = [
    {
        'id': 1,
        'title': 'The Great Gatsby',
        'author': 'F. Scott Fitzgerald',
        'published': '1925'
    },
    {
        'id': 2,
        'title': 'To Kill a Mockingbird',
        'author': 'Harper Lee',
        'published': '1960'
    }
]

@app.route('/books/<int:id>', methods=['GET'])
def get_book(id):
    for book in books:
        if book['id'] == id:
            return jsonify(book)
    return jsonify({'error': 'Book not found'})

if __name__ == '__main__':
    app.run(debug=True)

Dalam kod di atas, kami mentakrifkan senarai buku, yang mengandungi dua kamus. , setiap kamus A mewakili sebuah buku. Laluan '/books/' ditakrifkan, melepasi parameter id integer menggunakan '3e2f7d559aac0f0aeba61111f4764f61'. Dalam fungsi tersebut, kami melintasi untuk mencari buku mengikut id, dan jika ditemui, kembalikan butiran kedai buku, jika tidak, kembalikan mesej ralat.

Masukkan 'http://localhost:5000/books/1' dalam penyemak imbas dan butiran buku bernama 'The Great Gatsby' akan dikembalikan.

Seterusnya, kami akan melanjutkan kod di atas untuk menyokong kaedah permintaan HTTP yang lain.

@app.route('/books', methods=['GET', 'POST'])
def handle_books():
    if request.method == 'GET':
        return jsonify(books)
    if request.method == 'POST':
        new_book = {
            'id': len(books) + 1,
            'title': request.form['title'],
            'author': request.form['author'],
            'published': request.form['published']
        }
        books.append(new_book)
        return jsonify(new_book)

Dalam kod di atas, kami telah menentukan laluan baharu '/books' untuk mengendalikan permintaan HTTP GET dan POST. Dalam permintaan GET, kami mengembalikan keseluruhan senarai buku. Dalam permintaan POST, kami menambah buku baharu pada senarai buku.

Seterusnya, kami akan melaksanakan kaedah DELETE dan PUT.

@app.route('/books/<int:id>', methods=['GET', 'PUT', 'DELETE'])
def handle_book(id):
    if request.method == 'GET':
        for book in books:
            if book['id'] == id:
                return jsonify(book)
        return jsonify({'error': 'Book not found'})

    if request.method == 'PUT':
        for book in books:
            if book['id'] == id:
                book['title'] = request.form['title']
                book['author'] = request.form['author']
                book['published'] = request.form['published']
                return jsonify(book)
        return jsonify({'error': 'Book not found'})

    if request.method == 'DELETE':
        for book in books:
            if book['id'] == id:
                books.remove(book)
                return jsonify({'message': 'Book deleted'})
        return jsonify({'error': 'Book not found'})

Dalam kod di atas, kami melanjutkan pengendalian laluan '/books/3e2f7d559aac0f0aeba61111f4764f61'. Dalam permintaan GET, kami mencari buku yang dikaitkan dengan id. Dalam permintaan PUT, kami mengemas kini buku yang dikaitkan dengan id. Dalam permintaan DELETE, kami memadamkan buku yang berkaitan dengan id.

Setakat ini, kami telah mempelajari cara membina API RESTful menggunakan Flask. Kami telah melihat cara menggunakan Flask untuk menentukan sumber dan mendedahkannya kepada permintaan HTTP. Kami juga mempelajari cara menggunakan pelbagai amalan REST untuk melaksanakan operasi GET, POST, PUT dan DELETE. Selain itu, kami melihat cara menggunakan respons Flask untuk mengembalikan data.

Ringkasnya, rangka kerja Flask ialah pilihan ideal untuk melaksanakan API RESTful Ia pantas, mudah, mudah dipelajari dan digunakan serta menyokong bahasa Python. Dalam artikel ini, kami menunjukkan cara membina API RESTful menggunakan Flask. Begitu mudah, anda kini boleh mula mencipta API RESTful anda sendiri untuk menyampaikan aplikasi anda.

Atas ialah kandungan terperinci Pengaturcaraan Pelayan Python: Membina API RESTful dengan Flask. 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