Rumah pembangunan bahagian belakang Tutorial Python Cara membina API yang berkuasa menggunakan Flask-RESTPlus

Cara membina API yang berkuasa menggunakan Flask-RESTPlus

Aug 02, 2023 am 10:25 AM
flask-restplus: lanjutan rangka kerja flask digunakan untuk membina api

Cara membina API yang berkuasa menggunakan Flask-RESTPlus

Petikan:
Dalam pembangunan web, membina API (Antaramuka Pengaturcaraan Aplikasi) adalah sangat biasa dan penting. API ialah satu cara untuk membenarkan interaksi antara aplikasi yang berbeza, dan ia mentakrifkan spesifikasi untuk cara meminta dan bertindak balas kepada data. Flask-RESTPlus ialah perpustakaan sambungan berasaskan Flask yang memudahkan proses membina dan mendokumentasikan API yang berkuasa. Artikel ini akan memperkenalkan cara menggunakan Flask-RESTPlus untuk membina API yang berkuasa dan menyediakan beberapa contoh kod untuk rujukan.

1. Pasang dan sediakan Flask-RESTPlus
Sebelum kita mula, kita perlu memasang Flask dan Flask-RESTPlus dalam persekitaran Python. Mereka boleh dipasang menggunakan arahan pip:

pip install flask restplus
Salin selepas log masuk

Selepas pemasangan selesai, kita boleh mula membina API.

2. Mulakan aplikasi Flask
Pertama, kita perlu mencipta aplikasi Flask baharu dan mengimport sambungan Flask-RESTPlus. Dalam aplikasi, kami juga perlu mencipta ruang nama API (Namespace) untuk mengatur dan mengurus titik akhir API yang berbeza.

from flask import Flask
from flask_restplus import Api, Resource

app = Flask(__name__)
api = Api(app)
Salin selepas log masuk

3 Tentukan laluan dan sumber
Dalam Flask-RESTPlus, sumber ialah bahagian penting API dan ia sepadan dengan titik akhir API yang berbeza. Kita boleh menggunakan penghias @api.route untuk menentukan laluan dan sumber. @api.route装饰器来定义路由和资源。

@api.route('/example')
class ExampleResource(Resource):
    def get(self):
        return {'message': 'Hello, World!'}
Salin selepas log masuk

在上面的示例中,我们定义了一个名为'/example'的路由,并将其与ExampleResource类绑定。该类包含了一个get()方法,用于处理GET请求。在此示例中,我们只是返回了一个简单的JSON响应。

四、请求和响应模型
为了确保API的安全性和一致性,我们通常需要定义请求和响应的数据模型。Flask-RESTPlus提供了一个Model对象来定义模型,并提供了一些常见的字段类型,如String、Integer、Boolean等。

from flask_restplus import fields

example_model = api.model('ExampleModel', {
    'id': fields.Integer(required=True, description='The example ID'),
    'name': fields.String(required=True, description='The example name')
})
Salin selepas log masuk

在上面的示例中,我们定义了一个名为ExampleModel的模型,它有两个字段:id和name。这些字段都是必填项。

五、请求和响应数据验证
根据模型定义,Flask-RESTPlus可以自动验证请求和响应的数据。我们可以使用@api.expect装饰器来指定请求的数据模型,并使用@api.marshal_with

@api.route('/example')
class ExampleResource(Resource):
    @api.expect(example_model, validate=True)
    @api.marshal_with(example_model)
    def post(self):
        return api.payload
Salin selepas log masuk

Dalam contoh di atas, kami menentukan laluan bernama '/example' dan mengikatnya dengan kelas ExampleResource. Kelas ini mengandungi kaedah get() untuk mengendalikan permintaan GET. Dalam contoh ini, kami baru sahaja mengembalikan respons JSON yang mudah.

4 Model permintaan dan respons

Untuk memastikan keselamatan dan konsistensi API, kami biasanya perlu menentukan model data permintaan dan respons. Flask-RESTPlus menyediakan objek Model untuk mentakrifkan model dan menyediakan beberapa jenis medan biasa, seperti String, Integer, Boolean, dll.

@api.errorhandler
def handle_error(error):
    return {'message': str(error)}, 400
Salin selepas log masuk

Dalam contoh di atas, kami mentakrifkan model yang dipanggil ExampleModel, yang mempunyai dua medan: id dan nama. Medan ini diperlukan.

5. Pengesahan data permintaan dan tindak balas

Menurut definisi model, Flask-RESTPlus boleh mengesahkan data permintaan dan tindak balas secara automatik. Kita boleh menggunakan penghias @api.expect untuk menentukan model data permintaan dan penghias @api.marshal_with untuk menentukan model data respons.

@api.route('/doc')
class APIDoc(Resource):
    def get(self):
        return api.documentation
Salin selepas log masuk
Dalam contoh di atas, kita dapat melihat bahawa kita menggunakan penghias @api.expect untuk mengesahkan data yang diminta dan penghias @api.marshal_with untuk menentukan model data respons.

6. Pengendalian ralat

Apabila ralat API berlaku, kami harus mengembalikan respons ralat yang sesuai. Flask-RESTPlus menyediakan penghias yang sangat mudah untuk menangani ralat, penghias @api.errorhandler.
rrreee

Dalam contoh di atas, kami mentakrifkan fungsi handle_error() untuk mengendalikan ralat, dan kemudian gunakan penghias @api.errorhandler untuk menentukan fungsi pengendalian ralat.

7. API Berdokumen
    Flask-RESTPlus menyediakan antara muka Swagger terbina dalam untuk menjana dokumentasi API secara automatik. Kami hanya perlu mencipta laluan dokumen dalam aplikasi dan mengikatnya dengan objek API.
  • rrreee
  • Dalam contoh di atas, kami menentukan laluan yang dipanggil '/doc' dan mengikatnya dengan kelas APIDoc. Dalam kaedah get(), kami mengembalikan dokumentasi API.
🎜Kesimpulan: 🎜Dengan menggunakan Flask-RESTPlus, kami boleh membina dan mendokumentasikan API yang berkuasa dengan mudah. Artikel ini menerangkan cara memasang dan menyediakan Flask-RESTPlus, dan menyediakan beberapa contoh kod biasa. Saya harap artikel ini dapat membantu anda memahami dengan lebih baik dan menggunakan Flask-RESTPlus untuk membina API yang sangat baik. 🎜🎜Rujukan: 🎜🎜🎜Flask-RESTPlus dokumentasi rasmi: http://flask-restplus.readthedocs.io/🎜🎜

Atas ialah kandungan terperinci Cara membina API yang berkuasa menggunakan Flask-RESTPlus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Tutorial ini menunjukkan cara menggunakan Python untuk memproses konsep statistik undang -undang ZIPF dan menunjukkan kecekapan membaca dan menyusun fail teks besar Python semasa memproses undang -undang. Anda mungkin tertanya -tanya apa maksud pengedaran ZIPF istilah. Untuk memahami istilah ini, kita perlu menentukan undang -undang Zipf. Jangan risau, saya akan cuba memudahkan arahan. Undang -undang Zipf Undang -undang Zipf hanya bermaksud: Dalam korpus bahasa semulajadi yang besar, kata -kata yang paling kerap berlaku muncul kira -kira dua kali lebih kerap sebagai kata -kata kerap kedua, tiga kali sebagai kata -kata kerap ketiga, empat kali sebagai kata -kata kerap keempat, dan sebagainya. Mari kita lihat contoh. Jika anda melihat corpus coklat dalam bahasa Inggeris Amerika, anda akan melihat bahawa perkataan yang paling kerap adalah "th

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Artikel ini menerangkan cara menggunakan sup yang indah, perpustakaan python, untuk menghuraikan html. Ia memperincikan kaedah biasa seperti mencari (), find_all (), pilih (), dan get_text () untuk pengekstrakan data, pengendalian struktur dan kesilapan HTML yang pelbagai, dan alternatif (sel

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Berurusan dengan imej yang bising adalah masalah biasa, terutamanya dengan telefon bimbit atau foto kamera resolusi rendah. Tutorial ini meneroka teknik penapisan imej di Python menggunakan OpenCV untuk menangani isu ini. Penapisan Imej: Alat yang berkuasa Penapis Imej

Cara Bekerja Dengan Dokumen PDF Menggunakan Python Cara Bekerja Dengan Dokumen PDF Menggunakan Python Mar 02, 2025 am 09:54 AM

Fail PDF adalah popular untuk keserasian silang platform mereka, dengan kandungan dan susun atur yang konsisten merentasi sistem operasi, peranti membaca dan perisian. Walau bagaimanapun, tidak seperti Python memproses fail teks biasa, fail PDF adalah fail binari dengan struktur yang lebih kompleks dan mengandungi unsur -unsur seperti fon, warna, dan imej. Mujurlah, tidak sukar untuk memproses fail PDF dengan modul luaran Python. Artikel ini akan menggunakan modul PYPDF2 untuk menunjukkan cara membuka fail PDF, mencetak halaman, dan mengekstrak teks. Untuk penciptaan dan penyuntingan fail PDF, sila rujuk tutorial lain dari saya. Penyediaan Inti terletak pada menggunakan modul luaran PYPDF2. Pertama, pasangkannya menggunakan PIP: Pip adalah p

Cara Cache Menggunakan Redis dalam Aplikasi Django Cara Cache Menggunakan Redis dalam Aplikasi Django Mar 02, 2025 am 10:10 AM

Tutorial ini menunjukkan cara memanfaatkan caching redis untuk meningkatkan prestasi aplikasi python, khususnya dalam rangka kerja Django. Kami akan merangkumi pemasangan Redis, konfigurasi Django, dan perbandingan prestasi untuk menyerlahkan bene

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Artikel ini membandingkan tensorflow dan pytorch untuk pembelajaran mendalam. Ia memperincikan langkah -langkah yang terlibat: penyediaan data, bangunan model, latihan, penilaian, dan penempatan. Perbezaan utama antara rangka kerja, terutamanya mengenai grap pengiraan

Cara Melaksanakan Struktur Data Anda Sendiri di Python Cara Melaksanakan Struktur Data Anda Sendiri di Python Mar 03, 2025 am 09:28 AM

Tutorial ini menunjukkan mewujudkan struktur data saluran paip tersuai di Python 3, memanfaatkan kelas dan pengendali yang berlebihan untuk fungsi yang dipertingkatkan. Fleksibiliti saluran paip terletak pada keupayaannya untuk menggunakan siri fungsi ke set data, GE

Pengenalan kepada pengaturcaraan selari dan serentak di Python Pengenalan kepada pengaturcaraan selari dan serentak di Python Mar 03, 2025 am 10:32 AM

Python, kegemaran sains dan pemprosesan data, menawarkan ekosistem yang kaya untuk pengkomputeran berprestasi tinggi. Walau bagaimanapun, pengaturcaraan selari dalam Python memberikan cabaran yang unik. Tutorial ini meneroka cabaran -cabaran ini, memberi tumpuan kepada Interprete Global

See all articles