در دنیای بههمپیوسته امروز، APIها نقش حیاتی در ایجاد امکان تعامل بین سیستمهای نرمافزاری بازی میکنند. APIها تبادل داده، یکپارچگی و اتوماسیون را ممکن ساخته و به برنامهنویسان اجازه میدهند تا اپلیکیشنهای کاربردی را در کمترین زمان توسعه دهند. پایتون به دلیل سادگی یادگیری و تنوع کاربردی پلتفرم مناسبی برای ساخت APIها است. در این پست ما به آموزش API نویسی با پایتون پرداخته و نشان میدهیم چطور میتوانید با کمک فناوریهای ساده، API خودتان را توسعه دهید.
درک APIها
بهتر است قبل از شروع کار، ابتدا کمی با کاربرد APIها آشنا شویم. API در واقع یک رابط بین اپلیکیشنهای نرمافزاری است که به آنها اجازه میدهد با یکدیگر تعامل کنند. API یک سری قوانین و پروتکلها برای نحوه برقراری ارتباط و تبادل داده را تعریف میکند. از APIها میتوان برای بازیابی داده، انجام یک عمل خاص یا دسترسی به کاربری اپلیکیشنها استفاده کرد.
پایتون و فلسک
ما برای ساخت API خودمان از پایتون و فریمورک فلسک (Flask) استفاده میکنیم. فلسک یک فریمورک سبک و منعطف است که توسعه اپلیکیشنهای وب و APIها را ساده میکند. فلسک شامل کتابخانهها و ابزارهایی برای رسیدگی به درخواستهای HTTP، مسیریابی و سایر اعمال مربوط به وب میشود. اگر قبل از این با فلسک کار نکردهاید، نگران نباشید، ما در این پست آموزش APIنویسی با پایتون به صورت گامبهگام همه مراحل را توضیح میدهیم.
آمادهسازی محیط توسعه
ابتدا باید یک محیط مجازی برای پروژه خودتان ایجاد کنید. با استفاده از محیط مجازی وابستگیهای API شما از پایتون موجود در سیستم جدا خواهد بود. برای این کار میتوانید از ابزارهای مثل virtualenv یا conda استفاده کنید. قبل از ادامه کار، محیط مجازی را فعال کنید.
نصب فلسک
بعد از فعال کردن محیط مجازی، با استفاده از دستور زیر فلسک را نصب کنید:
۱ ۲ ۳ |
pip install flask |
ساخت اندپوینت API
در این مثال، ما میخواهیم یک اندپوینت API بسازیم که تاریخ امروز را بازیابی کند. یک فایل جدید پایتون باز و فلسک را ایمپورت کنید. سپس یک مسیر برای اندپوینت API خودتان تعریف کنید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ |
from flask import Flask, jsonify import subprocess app = Flask(__name__) @app.route('/date', methods=&#۹۱;'GET']) def get_date(): result = subprocess.check_output(&#۹۱;'date']).decode('utf-8') return jsonify({'date': result.strip()}) @app.route('/cal', methods=&#۹۱;'GET']) def get_cal(): result = subprocess.check_output(&#۹۱;'cal']).decode('utf-8') return jsonify({'calendar': result.strip()}) @app.route('/docker', methods=&#۹۱;'GET']) def get_docker(): result = subprocess.check_output(&#۹۱;'docker', 'ps']).decode('utf-8') return jsonify({'docker': result.strip()}) @app.route('/cls', methods=&#۹۱;'GET']) def get_cls(): result = subprocess.check_output(&#۹۱;'cls']).decode('utf-8') return jsonify({'cls': result.strip()}) if __name__ == '__main__': app.run() |
اجرای API
فایل را با پسوند py. ذخیره کنید (برای مثال api.py). در ترمینال، به پوشه پروژه را رفته و فرمان زیر را اجرا کنید:
۱ ۲ ۳ |
python api.py |
اپلیکیشن فلسک شما اجرا میشود و یک خروجی مشابه خروجی زیر مشاهده میکنید:
۱ ۲ ۳ |
* Running on http://۱۲۷.۰.۰.۱:۵۰۰۰/ (Press CTRL+C to quit) |
دسترسی به API
خب API شما آماده و در حال اجرا است. برای دسترسی به اندپوینت، مرورگر خودتان را باز کنید یا از ابزاری مثل Postman بهره ببرید و URL زیر را وارد کنید:
۱ ۲ ۳ |
http:&#۴۷;/127.0.0.1:5000/date |
الان باید تاریخ روز رو به عنوان پاسخ دریافت کنید.
توسعه API
شما میتوانید اندپوینتها و کاربریهای دیگری به API خودتان اضافه کنید. برای مثال شما میتوایند یک اندپوینت برای بازیابی تقویم یا اجرای دستورات داکر اضافه کنید. از کتابخانههای پایتون و ماژولهای مربوطه برای کاربرهای دلخواه و تعریف مسیرهای اضافی برای رسیدگی به درخواستهای API مختلف بهره ببرید.
با توسعه تجربهای که از آموزش APIنویسی با پایتون به دست آوردهاید، میتوانید APIهای پیچیدهتری با کاربریهای گستردهتری را بسازید. با سخت هر API، تجربه شما هم بیشتر شده و هر بار، API بهتری میسازید. پس معطل نکنید و همین امروز اولین API خودتان در پایتون را بسازید.