Jadual Kandungan
1. Gambaran keseluruhan gaya RESTful
2. RESTful dalam Python
3. Penjelasan contoh Flask RESTful API
1) Penjelasan perpustakaan Flask-RESTful
2) Pemasangan perpustakaan Flask-RESTful
3) Contoh penjelasan RESTful
Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan Python Flask RESTful

Cara menggunakan Python Flask RESTful

Apr 29, 2023 pm 07:49 PM
python restful flask

1. Gambaran keseluruhan gaya RESTful

REST (Representational State Transfer) ialah gaya reka bentuk aplikasi Web berorientasikan sumber Ia mengikut beberapa prinsip reka bentuk untuk menjadikan aplikasi Web sangat mudah dibaca dan mesra pengguna . Mari kita terangkan setiap aspek gaya RESTful secara terperinci:

  • Pengecam Sumber: Dalam gaya RESTful, setiap sumber mempunyai pengecam unik, Biasanya URL(Uniform Resource Locator). URL digunakan untuk mengenal pasti lokasi sumber supaya pelanggan boleh mengaksesnya menggunakan protokol HTTP. Sebagai contoh, URL ringkas boleh menjadi: http://example.com/products/123, dengan “products” mewakili jenis sumber dan “123” mewakili pengecam sumber.

  • Lapisan persembahan : Sumber boleh diwakili dalam format yang berbeza, seperti JSON, XML, HTML, dsb. Pelanggan boleh memilih perwakilan yang sesuai untuk berinteraksi mengikut keperluan. Contohnya, RESTful API boleh mengembalikan data dalam format JSON supaya pelanggan boleh menghuraikan dan memproses data dengan lebih mudah.

  • Mesej yang menerangkan diri : Setiap mesej harus mengandungi maklumat yang mencukupi untuk menerangkan cara mengendalikan mesej. Sebagai contoh, respons HTTP harus mengandungi maklumat seperti kod status, pengepala respons dan badan respons supaya pelanggan dapat memahami maksud respons.

  • Komunikasi Tanpa Kewarganegaraan: Reka bentuk gaya RESTful menekankan komunikasi tanpa kewarganegaraan, yang bermaksud bahawa setiap permintaan harus mengandungi semua maklumat yang diperlukan untuk mengendalikan permintaan itu, tanpa bergantung pada permintaan sebelumnya. Ini boleh menjadikan aplikasi web lebih mudah dan berskala kerana pelayan tidak perlu menyimpan sebarang maklumat keadaan.

  • Antara Muka Seragam : Semua sumber harus diakses melalui antara muka yang sama. Ini bermakna pelanggan boleh menggunakan kaedah HTTP yang sama (seperti GET, POST, PUT, DELETE, dsb.) untuk mengendalikan jenis sumber yang berbeza. Ini menjadikan API lebih mudah dan konsisten serta lebih mudah untuk difahami dan digunakan oleh pembangun lain.

Ringkasnya, reka bentuk gaya RESTful menjadikan aplikasi web lebih fleksibel, berskala dan lebih mudah diselenggara serta merupakan cara moden untuk mereka bentuk aplikasi web.

2. RESTful dalam Python

Python boleh digunakan untuk melaksanakan aplikasi web gaya RESTful, biasanya menggunakan beberapa rangka kerja web untuk memudahkan proses pembangunan. Berikut ialah beberapa rangka kerja web Python biasa:

  • Flask: Flask ialah rangka kerja web yang ringkas dan ringan yang boleh digunakan untuk membina aplikasi web gaya RESTful. Ia menggunakan sintaks penghias Python untuk menentukan laluan HTTP, menjadikan penulisan aplikasi web mudah dan intuitif. Flask juga menyediakan mekanisme sambungan supaya pembangun boleh menambah ciri baharu dengan mudah, seperti akses pangkalan data, pengesahan borang, dsb.

  • Django: Django ialah rangka kerja web yang berkuasa dan komprehensif yang boleh digunakan untuk membina aplikasi web yang kompleks. Ia menyediakan banyak ciri terbina dalam seperti ORM (pemetaan hubungan objek), pengesahan borang, pengesahan, dll. yang membolehkan pembangun membina aplikasi web dengan lebih pantas. Django juga menyokong RESTful pembangunan aplikasi web gaya, yang boleh dilaksanakan menggunakan perpustakaan pihak ketiga Django REST framework .

  • Bottle: Bottle ialah rangka kerja web ringan yang menggunakan sintaks penghias Python untuk menentukan laluan HTTP dan boleh membina aplikasi web gaya RESTful dengan cepat. Botol juga termasuk beberapa ciri berguna seperti enjin templat, akses pangkalan data, pemprosesan fail statik, dsb.

  • Pyramid: Pyramid ialah rangka kerja web yang fleksibel dan boleh disesuaikan yang boleh digunakan untuk membina pelbagai jenis aplikasi web, termasuk aplikasi web gaya RESTful. Pyramid menyediakan banyak mekanisme lanjutan yang membolehkan pembangun menambah fungsi baharu dengan mudah, seperti akses pangkalan data, pengesahan borang, pengesahan, dsb.

Rangka kerja di atas semuanya menyokong pembangunan aplikasi web gaya RESTful, dan semuanya mempunyai kelebihan dan kekurangan mereka sendiri. Pembangun boleh memilih rangka kerja yang sesuai mengikut keperluan mereka sendiri.

3. Penjelasan contoh Flask RESTful API

1) Penjelasan perpustakaan Flask-RESTful

Flask-RESTful ialah perpustakaan sambungan berasaskan Flask yang menyediakan beberapa alatan mudah untuk membina RESTful API. Berikut ialah beberapa ciri dan fungsi utama Flask-RESTful:

  • Kelas Sumber: Flask-RESTful menyediakan kelas asas Sumber yang boleh digunakan untuk mencipta sumber . Kelas Sumber mengandungi logik pemprosesan kaedah HTTP (GET, POST, PUT, DELETE, dsb.) dan menyediakan beberapa kaedah mudah untuk mengendalikan permintaan dan respons.

  • Permintaan penghuraian parameter: Flask-RESTful menyediakan kelas RequestParser untuk menghurai parameter permintaan. RequestParser Boleh menghuraikan secara automatik parameter pertanyaan, parameter bentuk, parameter JSON, dsb. ke dalam jenis Python, dan menyediakan beberapa pilihan untuk menentukan jenis parameter, nilai lalai, mesti wujud dan sekatan lain.

  • Pemformatan respons: Flask-RESTful menyediakan marshal_with() penghias untuk memformat data respons. marshal_with() Penghias boleh menukar objek Python ke dalam format output tertentu (seperti JSON, XML, dll.), dan menyokong fungsi seperti menentukan medan output, jenis medan, medan bersarang, dsb.

  • Takrifan laluan : Flask-RESTful menyediakan kelas Api untuk mentakrifkan hubungan pemetaan antara laluan dan sumber. Kelas Api mengandungi kaedah add_resource(), yang digunakan untuk mengikat kelas sumber dan laluan URL.

  • Pengendalian pengecualian: Flask-RESTful menyediakan beberapa kelas pengecualian untuk mengendalikan ralat dalam permintaan dan respons HTTP. Kelas pengecualian Flask-RESTful termasuk abort, HTTPException, dsb., yang boleh mengendalikan kod status HTTP, mesej ralat, dsb.

Ringkasnya, Flask-RESTful menyediakan beberapa alatan yang mudah untuk memudahkan pembangunan API RESTful. Menggunakan Flask-RESTful, anda boleh dengan cepat mentakrifkan sumber, menghuraikan parameter permintaan, memformat data tindak balas, menentukan laluan, mengendalikan pengecualian, dsb., dengan itu meningkatkan kecekapan pembangunan dan mengurangkan risiko ralat.

2) Pemasangan perpustakaan Flask-RESTful

Untuk memasang perpustakaan Flask-RESTful, anda boleh menggunakan arahan pip untuk memasangnya. Jalankan arahan berikut dalam terminal:

pip3 install flask-restful
Salin selepas log masuk

Ini akan memuat turun perpustakaan Flask-RESTful daripada PyPI dan memasangnya ke dalam persekitaran Python tempatan anda. Selepas pemasangan selesai, anda boleh mengimport modul flask_restful dalam kod anda dan menggunakan fungsi yang disediakan oleh Flask-RESTful untuk membina API RESTful.

3) Contoh penjelasan RESTful

Berikut ialah contoh Flask RESTful API yang mudah, yang melaksanakan aplikasi Senarai Tugasan yang mudah:

from flask import Flask, request
from flask_restful import Api, Resource, reqparse, fields, marshal_with
app = Flask(__name__)
api = Api(app)
todos = {}
todo_fields = {
    'id': fields.Integer,
    'task': fields.String,
    'status': fields.Boolean
}
class TodoList(Resource):
    @marshal_with(todo_fields)
    def get(self):
        return todos
    @marshal_with(todo_fields)
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('task', type=str, help='Task is required', required=True)
        args = parser.parse_args()
        todo_id = len(todos) + 1
        todo = {'task': args['task'], 'status': False}
        todos[todo_id] = todo
        return todo, 201
class TodoItem(Resource):
    @marshal_with(todo_fields)
    def get(self, todo_id):
        return todos[todo_id]
    def put(self, todo_id):
        parser = reqparse.RequestParser()
        parser.add_argument('task', type=str)
        parser.add_argument('status', type=bool)
        args = parser.parse_args()
        todo = todos[todo_id]
        if args['task']:
            todo['task'] = args['task']
        if args['status']:
            todo['status'] = args['status']
        return todo
    def delete(self, todo_id):
        del todos[todo_id]
        return '', 204
api.add_resource(TodoList, '/todos')
api.add_resource(TodoItem, &#39;/todos/<int:todo_id>&#39;)
if __name__ == &#39;__main__&#39;:
    app.run(debug=True)
Salin selepas log masuk

Mula

# 配置环境变量
export FLASK_APP=restful-test.py
# 启动服务,公开访问需要加上--host=0.0.0.0
python -m flask run --host=0.0.0.0
Salin selepas log masuk

Contoh ini menggunakan Flask dan perpustakaan Flask-RESTful untuk melaksanakan API RESTful untuk aplikasi Senarai Tugasan. Berikut ialah beberapa coretan kod penting yang dijelaskan:

  • Menentukan sumber : Dalam contoh, terdapat dua sumber: TodoList dan TodoItem. TodoList digunakan untuk memproses semua senarai tugasan Tugasan dan TodoItem digunakan untuk memproses satu tugasan.

  • Tentukan parameter permintaan : Dalam contoh, kami menggunakan RequestParser perpustakaan Flask-RESTful untuk menghuraikan parameter permintaan. Kami mentakrifkan parameter &#39;task&#39; dan &#39;status&#39; dan menggunakan kaedah add_argument() untuk menentukan jenisnya dan kekangan lain.

  • Tentukan format respons : Dalam contoh, kami menggunakan marshal_with() penghias perpustakaan Flask-RESTful untuk mentakrifkan format respons. Kami mentakrifkan kamus bernama todo_fields yang mengandungi medan id, task dan status bagi tugasan Tugasan.

  • Tentukan kaedah permintaan: Dalam contoh, kami menggunakan kelas Sumber perpustakaan Flask-RESTful untuk mentakrifkan kaedah permintaan. Kami melaksanakan kaedah GET, POST, PUT dan DELETE untuk mendapatkan senarai tugas, tambah tugas, tugas kemas kini dan Padam tugas.

  • Tambah laluan: Dalam contoh, kami menggunakan kelas Api perpustakaan Flask-RESTful untuk menambah laluan. Kami menggunakan kaedah add_resource() untuk mengikat kelas TodoList dan TodoItem dengan laluan URL yang sepadan.

Selepas menjalankan contoh, anda boleh menggunakan API RESTful aplikasi Senarai Tugasan dengan mengakses URL. Contohnya, untuk mendapatkan senarai semua tugas, anda boleh menggunakan URL berikut:

# GET http://localhost:5000/todos
curl http://localhost:5000/todos
Salin selepas log masuk

Untuk menambah tugasan baharu, anda boleh menggunakan URL berikut:

# POST http://localhost:5000/todos
curl -XPOST http://localhost:5000/todos -d &#39;task=123&#39;
curl -XPOST http://localhost:5000/todos -d &#39;{"task":"456"}&#39;  --header "Content-Type: application/json"
Salin selepas log masuk

Untuk mendapatkan satu tugasan, anda boleh menggunakan URL berikut:

# GET http://localhost:5000/todos/1
curl http://localhost:5000/todos/1
Salin selepas log masuk

Untuk mengemas kini tugasan, anda boleh menggunakan URL berikut :

# PUT http://localhost:5000/todos/1
curl -XPUT http://localhost:5000/todos/1 -d &#39;{"task":"test"}&#39;  --header "Content-Type: application/json"
# 查看
curl http://localhost:5000/todos/1
Salin selepas log masuk

Untuk memadamkan Untuk tugasan , anda boleh menggunakan URL berikut:

# DELETE http://localhost:5000/todos/1
curl -XDELETE http://localhost:5000/todos/1
Salin selepas log masuk

Cara menggunakan Python Flask RESTful

Atas ialah kandungan terperinci Cara menggunakan Python Flask RESTful. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Boleh kod vs dijalankan di Windows 8 Boleh kod vs dijalankan di Windows 8 Apr 15, 2025 pm 07:24 PM

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Adakah sambungan vscode berniat jahat? Adakah sambungan vscode berniat jahat? Apr 15, 2025 pm 07:57 PM

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

Cara menjalankan program di terminal vscode Cara menjalankan program di terminal vscode Apr 15, 2025 pm 06:42 PM

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

Bolehkah kod studio visual digunakan dalam python Bolehkah kod studio visual digunakan dalam python Apr 15, 2025 pm 08:18 PM

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

Boleh vscode digunakan untuk mac Boleh vscode digunakan untuk mac Apr 15, 2025 pm 07:36 PM

VS Kod boleh didapati di Mac. Ia mempunyai sambungan yang kuat, integrasi git, terminal dan debugger, dan juga menawarkan banyak pilihan persediaan. Walau bagaimanapun, untuk projek yang sangat besar atau pembangunan yang sangat profesional, kod VS mungkin mempunyai prestasi atau batasan fungsi.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

See all articles