Flask یکی از محبوبترین فریمورکهای طراحی وب در زبان پایتون است. نسخهی جدید Flask 3.0 ویژگیهای جدید و بهبودیهایی در عملکرد و امکانات ارائه میدهد. در این مطلب، میخواهیم دربارهی نحوهی استفاده از JSON در Flask 3.0 صحبت کنیم. JSON یا JavaScript Object Notation قالبی سبک برای تبادل داده است که به سادگی توسط انسان و ماشین قابل خواندن است.
یکی از قابلیتهای جذاب Flask 3.0، پشتیبانی بهبود یافتهاش از JSON است. برای کار با JSON در Flask، ممکن است نیاز به استفاده از ماژول flask.json داشته باشیم که به ما کمک میکند تا با سهولت بیشتری اطلاعات را با فرمت JSON در برنامههای خود بارگزاری و تجزیه کنیم.
در اینجا، کدی ساده را خواهیم ساخت که در آن یک API کوچک با استفاده از Flask 3.0 طراحی میکنیم، که دادهها را به صورت JSON دریافت و ارسال میکند. این کار به ما کمک میکند تا درکی بهتر از نحوهی استفاده و مدیریت دادههای JSON در این نسخه از Flask به دست آوریم.
با مطالعهی این بخش، شما خواهید دید که چگونه میتوان یک برنامهی سادهی Flask را برای مدیریت دادههای JSON مشخص کرد و با استفاده از آن عملیاتهای CRUD را پیادهسازی کرد.
به علاوه، خواهید آموخت که چگونه میتوانیم از قالببندی مناسب و HTTP responseهای مناسب با JSON برای بهبود تجربهی کاربری استفاده کنیم.
from flask import Flask, jsonify, request\r\n\r\napp = Flask(__name__)\r\n\r\[email protected]('/data', methods=['GET'])\r\ndef get_data():\r\n data = {\'name\': \'Flask\', \'version\': \'3.0\'}\r\n return jsonify(data)\r\n\r\[email protected]('/echo', methods=['POST'])\r\ndef echo_data():\r\n content = request.json\r\n return jsonify(content)\r\n\r\nif __name__ == '__main__':\r\n app.run(debug=True)
در این قطعه کد، ما ابتدا یک شیئ از کلاس Flask
ایجاد میکنیم و سپس دو route ساده تعریف میکنیم.
متد @app.route('/data', methods=['GET'])
این خط یک route جدید برای دسترسی با متد GET
تعریف میکند.
def get_data():
تابع get_data از نوع HTTP GET
است که اطلاعات JSON را برمیگرداند.
data = {'name': 'Flask', 'version': '3.0'}
یک دیکشنری ساده با نام و نسخهی Flask ایجاد کردهایم.
return jsonify(data)
آبجکت داده را به فرمت JSON تبدیل و برمیگرداند.
@app.route('/echo', methods=['POST'])
یک route دیگر برای متد POST
جهت اکو کردن دادههای دریافتی تعریف میکند.
content = request.json
دادههای درخواستی را که به صورت JSON آمدهاند میخواند.
return jsonify(content)
این دادهها را مستقیماً برمیگرداند تا نشان دهد که چگونه میتوانیم محتوای دریافتی را مدیریت کنیم.
app.run(debug=True)
برنامه را با حالت Debug اجرا میکند، که برای توسعه مفید است.