FastAPI – Simplicity – انجمن DEV

در حالی که در کالج تحصیل می کنم و ایده های پروژه های متعددی در ذهنم وجود دارد. من همیشه به این فکر می کنم که چرا هیچ راه ساده ای برای ساخت api وجود ندارد و اکنون به نظر می رسد یکی از گزینه ها را از دست داده ام.
زمانی که صحبت از ساخت API به میان می آید، پایتون به دلیل سهولت استفاده، خوانایی و تعداد زیادی کتابخانه در دسترس، همیشه یک انتخاب محبوب بوده است. یکی از فریمورک های جدیدتر در اکوسیستم پایتون FastAPI است. در این وبلاگ، نگاهی خواهیم انداخت به اینکه FastAPI چیست، چرا ممکن است بخواهید از آن استفاده کنید و برخی از ویژگی های کلیدی آن.
FastAPI چیست؟
FastAPI یک چارچوب وب مدرن، سریع (از این رو نامش) برای ساخت API با پایتون 3.7+ بر اساس نکات استاندارد نوع پایتون است. این پروژه توسط سباستین رامیرز ایجاد شده است و یک پروژه منبع باز با جامعه ای پر رونق است. FastAPI در بالای Starlette برای بخش های وب و Pydantic برای بخش های داده ساخته شده است.
چرا از FastAPI استفاده کنیم؟
یکی از مزایای کلیدی استفاده از FastAPI سرعت آن است. این در بالای Starlette ساخته شده است، که یک چارچوب وب ناهمگام است که سبک و سریع طراحی شده است. این بدان معنی است که FastAPI قادر است تعداد زیادی از درخواست ها را به سرعت و کارآمد انجام دهد و آن را به یک انتخاب عالی برای ساخت API های با کارایی بالا تبدیل می کند.
FastAPI همچنین بسیار قابل تنظیم است، با طیف گسترده ای از گزینه ها برای مدیریت احراز هویت، مجوز و سایر ویژگی ها. این بدان معنی است که می توان آن را متناسب با نیازهای طیف گسترده ای از پروژه ها و موارد استفاده طراحی کرد.
ویژگی های کلیدی FastAPI
FastAPI دارای تعدادی ویژگی کلیدی است که آن را به انتخابی جذاب برای ساخت API تبدیل می کند:
- سریع
- آسان برای استفاده
- تولید اسناد خودکار
- بسیار قابل تنظیم
- پشتیبانی از WebSocket
- بررسی تایپ
بیایید یک پروژه با استفاده از FastApis بسازیم –
ترجمه زبان | انگلیسی به هندی
قطعه کد زیر به ترجمه زبان کمک می کند
from googletrans import Translator
translator = Translator()
translation = translator.translate("All The Best", dest="hi")
print(translation)
نحوه ایجاد نقاط پایانی در FastApis –
from fastapi import FastAPI
app = FastAPI()
@app.get("https://dev.to/")
async def root():
return {"message": "Hello World"}
همانطور که می توانیم از قالب jinja در Fast Apis استفاده کنیم، صفحه HTML معمولی ایجاد می کند که درخواست Api را ارسال می کند و پاسخ تبدیل شده را از باطن دریافت می کند.
بنابراین ساختار پوشه پروژه مانند زیر خواهد بود –
نحوه ارسال درخواست Api به Backend –
<script>
const box = document.getElementById("box");
// const box1 = document.getElementById("value")
uploadform.onsubmit = async (e) => {
e.preventDefault();
let res = await fetch("/english_text", {
method: "POST",
body: new FormData(uploadform),
});
if (res.ok) {
let result = await res.text();
box.innerHTML = result;
} else {
box.innerHTML = `Response error: ${res.status}`;
};
};
</script>
اکنون همه آماده هستیم تا سرور FastApi را بوت کنیم.
پس بیایید کد را بکشیم و مراحل زیر را با python3 دنبال کنیم.
git clone https://github.com/rahul188/Fast_API_Demo.git
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
uvicorn application:app --reload
زیباترین چیز در مورد FastApi مستندات آن است. همانطور که در زیر می بینیم، به محض نوشتن کد، سند Api را تولید می کند.
نتیجه
FastAPI یک چارچوب وب مدرن و سریع برای ساخت API با Python 3.7+ است که بر روی Starlette و Pydantic ساخته شده است. بسیار قابل تنظیم، استفاده آسان است و تولید اسناد API خودکار را فراهم می کند. سرعت و انعطافپذیری FastAPI آن را به انتخابی عالی برای ساخت APIهای با کارایی بالا تبدیل میکند که میتوانند متناسب با نیازهای طیف گستردهای از پروژهها و موارد استفاده طراحی شوند.