Rumah >pembangunan bahagian belakang >Tutorial Python >Membina API Restful dengan Flask: Orm Bebas
Tutorial ini menyimpulkan siri tiga bahagian untuk membina API yang tenang dengan kelalang, menunjukkan pendekatan Orm-agnostik menggunakan flask berehat. Tidak seperti ansuran sebelumnya yang bergantung kepada SQLalChemy, kaedah ini menafsirkan mapper objek-relasi (ORM), yang menawarkan fleksibiliti untuk bekerja dengan mana-mana Orm.
Aplikasi contoh tetap konsisten untuk kejelasan, walaupun ia menggunakan SQLalChemy secara dalaman. Tutorial mempamerkan cara menyesuaikan pendekatan ini ke orms lain.
Pemasangan Ketergantungan
untuk memulakan, pasangkan kebergantungan yang diperlukan:
pip install Flask-Restful
Persediaan Aplikasi
Keluarkan sebarang kod dari bahagian tutorial sebelumnya untuk permulaan yang bersih. Konfigurasi aplikasi diubahsuai seperti berikut:
flask_app/my_app/__init__.py
from flask import Flask from flask_restful import Api app = Flask(__name__) api = Api(app)
flask_app/my_app/product/views.py
import json from flask import request, Blueprint, abort from my_app import db, app, api from my_app.product.models import Product from flask_restful import Resource, reqparse catalog = Blueprint('catalog', __name__) parser = reqparse.RequestParser() parser.add_argument('name', type=str) parser.add_argument('price', type=float) @catalog.route('/') @catalog.route('/home') def home(): return "Welcome to the Catalog Home." # FLASK RESTFUL ENDPOINTS class ProductApi(Resource): def get(self, id=None, page=1): if not id: products = Product.query.paginate(page, 10).items else: products = [Product.query.get(id)] if not products: abort(404) res = {} for product in products: res[product.id] = { 'name': product.name, 'price': product.price, } return json.dumps(res) def post(self): args = parser.parse_args() name = args['name'] price = args['price'] product = Product(name, price) db.session.add(product) db.session.commit() res = {} res[product.id] = { 'name': product.name, 'price': product.price, } return json.dumps(res) api.add_resource( ProductApi, '/api/product', '/api/product/<id>', '/api/product/<id>/<page>' )</page></id></id>
reqparse
Mengendalikan Pengesahan Data Borang.
Ujian
Bahagian akhir ini menunjukkan Bangunan API Restful ORM-bebas dengan Flask, menyelesaikan siri ini. Penjelajahan lebih lanjut mengenai kaedah yang dilindungi digalakkan, membina pengetahuan asas yang dibentangkan.
Pos ini termasuk sumbangan dari Esther Vaati, pemaju perisian dan penulis untuk Envato Tuts.
Atas ialah kandungan terperinci Membina API Restful dengan Flask: Orm Bebas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!