Cara menggunakan Python Flask RESTful
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 formatJSON
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 sepertiORM
(pemetaan hubungan objek), pengesahan borang, pengesahan, dll. yang membolehkan pembangun membina aplikasi web dengan lebih pantas. Django juga menyokongRESTful
pembangunan aplikasi web gaya, yang boleh dilaksanakan menggunakan perpustakaan pihak ketigaDjango 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 kaedahadd_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
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, '/todos/<int:todo_id>') if __name__ == '__main__': app.run(debug=True)
Mula
# 配置环境变量 export FLASK_APP=restful-test.py # 启动服务,公开访问需要加上--host=0.0.0.0 python -m flask run --host=0.0.0.0
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
danTodoItem
.TodoList
digunakan untuk memproses semua senarai tugasan Tugasan danTodoItem
digunakan untuk memproses satu tugasan.Tentukan parameter permintaan : Dalam contoh, kami menggunakan RequestParser perpustakaan Flask-RESTful untuk menghuraikan parameter permintaan. Kami mentakrifkan parameter
'task'
dan'status'
dan menggunakan kaedahadd_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 bernamatodo_fields
yang mengandungi medanid
,task
danstatus
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
danDELETE
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
Untuk menambah tugasan baharu, anda boleh menggunakan URL berikut:
# POST http://localhost:5000/todos curl -XPOST http://localhost:5000/todos -d 'task=123' curl -XPOST http://localhost:5000/todos -d '{"task":"456"}' --header "Content-Type: application/json"
Untuk mendapatkan satu tugasan, anda boleh menggunakan URL berikut:
# GET http://localhost:5000/todos/1 curl http://localhost:5000/todos/1
Untuk mengemas kini tugasan, anda boleh menggunakan URL berikut :
# PUT http://localhost:5000/todos/1 curl -XPUT http://localhost:5000/todos/1 -d '{"task":"test"}' --header "Content-Type: application/json" # 查看 curl http://localhost:5000/todos/1
Untuk memadamkan Untuk tugasan , anda boleh menggunakan URL berikut:
# DELETE http://localhost:5000/todos/1 curl -XDELETE http://localhost:5000/todos/1
Atas ialah kandungan terperinci Cara menggunakan Python Flask RESTful. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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.

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.

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.

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.

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.

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 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.
