cari
Rumahpembangunan bahagian belakangTutorial PythonCara membina API RESTful menggunakan Flask-RESTful

Cara membina API RESTful menggunakan Flask-RESTful

Aug 03, 2023 pm 12:21 PM
restfulapiflask

Cara menggunakan Flask-RESTful untuk membina RESTful API

Pengenalan:
Dengan perkembangan pesat pembangunan web, RESTful API telah menjadi bahagian penting dalam membina perkhidmatan back-end. Flask-RESTful ialah sambungan berdasarkan rangka kerja Flask yang menyediakan alatan yang mudah untuk membina API RESTful. Artikel ini akan memperkenalkan cara menggunakan Flask-RESTful untuk membina API RESTful yang mudah dan menerangkan secara terperinci melalui contoh kod.

Langkah 1: Pasang Flask-RESTful
Untuk menggunakan Flask-RESTful, anda perlu memasangnya terlebih dahulu. Ia boleh dipasang melalui arahan pip:

pip install flask-restful

Langkah 2: Buat aplikasi Flask
Mula-mula, kita perlu mencipta aplikasi Flask. Dalam direktori akar projek, buat fail yang dipanggil app.py dan masukkan kod berikut: app.py的文件,并输入以下代码:

from flask import Flask
from flask_restful import Api, Resource

app = Flask(__name__)
api = Api(app)

class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

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

在上面的代码中,我们导入了FlaskApi类。Flask类用于创建一个Flask应用,Api类用于创建一个API实例。然后,我们创建了一个名为HelloWorld的资源类,该类继承自Resource类。Resource类是Flask-RESTful提供的一个基类,用于定义API的资源。

HelloWorld类中,我们定义了一个get方法,用于处理GET请求。在本例中,我们返回了一个包含hello: world的JSON响应。

接下来,我们通过api.add_resource方法将资源类HelloWorld添加到路由中。其中,第一个参数是资源类的名称,第二个参数是路由地址/

最后,我们通过app.run方法启动Flask应用,并设置debug参数为True,以便在开发模式下运行应用。

第三步:运行应用
在终端中,进入项目的根目录,运行以下命令启动应用:

python app.py

打开浏览器,访问http://localhost:5000,应该能看到返回的JSON响应{"hello": "world"}

第四步:添加更多的资源
Flask-RESTful允许我们定义多个资源。比如,我们可以添加一个名为User的资源来处理用户相关的请求。

class User(Resource):
    def get(self, user_id):
        # 获取特定用户的信息
        pass

    def post(self):
        # 创建一个新用户
        pass

    def put(self, user_id):
        # 更新特定用户的信息
        pass

    def delete(self, user_id):
        # 删除特定用户
        pass

api.add_resource(User, '/users', '/users/<int:user_id>')

在上面的代码中,我们定义了一个名为User的资源类。该类包含了处理GET、POST、PUT和DELETE请求的方法。

api.add_resource方法中,我们可以看到第二个参数是一个特殊的路由地址,其中<user_id></user_id>表示一个路径参数,用于接收用户的ID。这样,我们就可以通过URL中的用户ID来访问特定的用户资源。

通过这种方式,我们可以根据需求添加更多的资源和相应的请求处理方法。

第五步:请求参数解析
在RESTful API中,常常需要从请求中获取参数并进行处理。Flask-RESTful提供了一个reqparse模块,用于解析请求参数。

from flask_restful import reqparse

parser = reqparse.RequestParser()
parser.add_argument('name', type=str)
parser.add_argument('age', type=int)

class User(Resource):
    def post(self):
        args = parser.parse_args()
        name = args['name']
        age = args['age']
        # 处理参数
        pass

在上面的代码中,我们首先导入了reqparse模块。然后,创建了一个RequestParser对象,并通过add_argument方法添加了两个参数nameage

User资源的post方法中,我们通过parser.parse_args()rrreee

Dalam kod di atas, kami mengimport Flask dan Kelas api. Kelas Flask digunakan untuk mencipta aplikasi Flask dan kelas Api digunakan untuk mencipta tika API. Kemudian, kami mencipta kelas sumber yang dipanggil HelloWorld, yang mewarisi daripada kelas Resource. Kelas Resource ialah kelas asas yang disediakan oleh Flask-RESTful dan digunakan untuk menentukan sumber API.


Dalam kelas HelloWorld, kami mentakrifkan kaedah get untuk mengendalikan permintaan GET. Dalam contoh ini, kami mengembalikan respons JSON yang mengandungi hello: world.

Seterusnya, kami menambah kelas sumber HelloWorld pada laluan melalui kaedah api.add_resource. Antaranya, parameter pertama ialah nama kelas sumber, dan parameter kedua ialah alamat penghalaan /.

🎜Akhir sekali, kami memulakan aplikasi Flask melalui kaedah app.run dan menetapkan parameter debug kepada True untuk menjalankan aplikasi dalam mod pembangunan. 🎜🎜Langkah 3: Jalankan aplikasi🎜Di terminal, masukkan direktori akar projek dan jalankan arahan berikut untuk memulakan aplikasi: 🎜rrreee🎜Buka penyemak imbas dan lawati http://localhost:5000 code>, ia sepatutnya berfungsi Lihat respons JSON yang dikembalikan {"hello": "world"}. 🎜🎜Langkah 4: Tambahkan lebih banyak sumber🎜Flask-RESTful membolehkan kami mentakrifkan berbilang sumber. Sebagai contoh, kita boleh menambah sumber bernama User untuk mengendalikan permintaan berkaitan pengguna. 🎜rrreee🎜Dalam kod di atas, kami mentakrifkan kelas sumber bernama Pengguna. Kelas ini mengandungi kaedah untuk mengendalikan permintaan GET, POST, PUT dan DELETE. 🎜🎜Dalam kaedah api.add_resource, kita dapat melihat bahawa parameter kedua ialah alamat penghalaan khas, dengan <user_id></user_id> mewakili parameter laluan, Digunakan untuk menerima ID pengguna. Dengan cara ini, kami boleh mengakses sumber pengguna tertentu melalui ID pengguna dalam URL. 🎜🎜Dengan cara ini, kami boleh menambah lebih banyak sumber dan kaedah pemprosesan permintaan yang sepadan mengikut keperluan. 🎜🎜Langkah 5: Minta analisis parameter🎜Dalam RESTful API, selalunya perlu mendapatkan parameter daripada permintaan dan memprosesnya. Flask-RESTful menyediakan modul reqparse untuk menghurai parameter permintaan. 🎜rrreee🎜Dalam kod di atas, kami mula-mula mengimport modul reqparse. Kemudian, objek RequestParser dicipta dan dua parameter name dan age ditambah melalui kaedah add_argument. 🎜🎜Dalam kaedah post sumber User, kami menghuraikan parameter permintaan melalui kaedah parser.parse_args() dan menetapkannya kepada pembolehubah yang sepadan. Kemudian, kita boleh memproses parameter mengikut keperluan sebenar. 🎜🎜Ringkasan: 🎜Melalui langkah di atas, kami telah berjaya membina API RESTful yang mudah menggunakan Flask-RESTful, dan mempelajari cara menambah sumber, mentakrifkan kaedah pemprosesan permintaan dan menghuraikan parameter permintaan. 🎜🎜Sudah tentu, Flask-RESTful juga menyediakan banyak fungsi dan sambungan lain, seperti pengesahan, sarang sumber, dsb. Ia boleh dikaji dan digunakan untuk memenuhi keperluan projek yang berbeza. 🎜

Atas ialah kandungan terperinci Cara membina API RESTful menggunakan Flask-RESTful. 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
Tujuan utama python: fleksibiliti dan kemudahan penggunaanTujuan utama python: fleksibiliti dan kemudahan penggunaanApr 17, 2025 am 12:14 AM

Fleksibiliti Python dicerminkan dalam sokongan multi-paradigma dan sistem jenis dinamik, sementara kemudahan penggunaan berasal dari sintaks mudah dan perpustakaan standard yang kaya. 1. Fleksibiliti: Menyokong pengaturcaraan berorientasikan objek, fungsional dan prosedur, dan sistem jenis dinamik meningkatkan kecekapan pembangunan. 2. Kemudahan Penggunaan: Tatabahasa adalah dekat dengan bahasa semulajadi, perpustakaan standard merangkumi pelbagai fungsi, dan memudahkan proses pembangunan.

Python: Kekuatan pengaturcaraan serba bolehPython: Kekuatan pengaturcaraan serba bolehApr 17, 2025 am 12:09 AM

Python sangat disukai kerana kesederhanaan dan kuasa, sesuai untuk semua keperluan dari pemula hingga pemaju canggih. Kepelbagaiannya dicerminkan dalam: 1) mudah dipelajari dan digunakan, sintaks mudah; 2) perpustakaan dan kerangka yang kaya, seperti numpy, panda, dan sebagainya; 3) sokongan silang platform, yang boleh dijalankan pada pelbagai sistem operasi; 4) Sesuai untuk tugas skrip dan automasi untuk meningkatkan kecekapan kerja.

Belajar python dalam 2 jam sehari: panduan praktikalBelajar python dalam 2 jam sehari: panduan praktikalApr 17, 2025 am 12:05 AM

Ya, pelajari Python dalam masa dua jam sehari. 1. Membangunkan pelan kajian yang munasabah, 2. Pilih sumber pembelajaran yang betul, 3 menyatukan pengetahuan yang dipelajari melalui amalan. Langkah -langkah ini dapat membantu anda menguasai Python dalam masa yang singkat.

Python vs C: Pro and Cons untuk PemajuPython vs C: Pro and Cons untuk PemajuApr 17, 2025 am 12:04 AM

Python sesuai untuk pembangunan pesat dan pemprosesan data, manakala C sesuai untuk prestasi tinggi dan kawalan asas. 1) Python mudah digunakan, dengan sintaks ringkas, dan sesuai untuk sains data dan pembangunan web. 2) C mempunyai prestasi tinggi dan kawalan yang tepat, dan sering digunakan dalam pengaturcaraan permainan dan sistem.

Python: komitmen masa dan kadar pembelajaranPython: komitmen masa dan kadar pembelajaranApr 17, 2025 am 12:03 AM

Masa yang diperlukan untuk belajar python berbeza dari orang ke orang, terutamanya dipengaruhi oleh pengalaman pengaturcaraan sebelumnya, motivasi pembelajaran, sumber pembelajaran dan kaedah, dan irama pembelajaran. Tetapkan matlamat pembelajaran yang realistik dan pelajari terbaik melalui projek praktikal.

Python: Automasi, skrip, dan pengurusan tugasPython: Automasi, skrip, dan pengurusan tugasApr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Python dan Masa: Memanfaatkan masa belajar andaPython dan Masa: Memanfaatkan masa belajar andaApr 14, 2025 am 12:02 AM

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python: Permainan, GUI, dan banyak lagiPython: Permainan, GUI, dan banyak lagiApr 13, 2025 am 12:14 AM

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)