از Pista Academy حمایت کنید
برای مشاهده سایر جلسات و ادامه یادگیری، وارد صفحه دوره شوید.
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه، مدرس به بررسی استاتوس کدها در فریم ورک FastAPI میپردازد. استاتوس کدها به ۵ دسته تقسیم میشوند: ۱xx (اطلاعاتی)، ۲xx (موفقیت)، ۳xx (ریدایرکشن)، ۴xx (خطای کلاینت)، و ۵xx (خطای سرور). در این جلسه، به طور عملی به استاتوس کد ۴۰۴ (Not Found) و ۲۰۰ (OK) پرداخته شده است و نحوه ایمپورت و استفاده از کلاسهای مرتبط با استاتوس کد در FastAPI نیز توضیح داده شده است.
نکات کلیدی
استاتوس کدها به ۵ دسته تقسیم میشوند: ۱xx، ۲xx، ۳xx، ۴xx، و ۵xx.
در این جلسه، به طور عملی با استاتوس کد ۴۰۴ (Not Found) و ۲۰۰ (OK) در FastAPI پرداخته شده است.
نحوه ایمپورت و استفاده از کلاسهای مرتبط با استاتوس کد در FastAPI توضیح داده شده است.
استاتوس کد ۴۰۴ برای نشان دادن عدم پیدا شدن منبع استفاده میشود.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
در FastAPI، کلاسهای مرتبط با استاتوس کد مانند HTTPException برای ایمپورت و استفاده است.
استاتوس کد ۴۰۴ برای نشان دادن عدم پیدا شدن منبع یا روت در یک درخواست استفاده میشود.
استاتوس کد ۲۰۰ به صورت پیشفرض برای پاسخهای موفق در FastAPI استفاده میشود و نیازی به ایمپورت یا تنظیم آن نیست.
آخرین بهروزرسانی محتوای متنی:
دوره جامع FastAPI از صفر تا استقرار در دنیای واقعی اگر دنبال ساخت APIهای حرفهای، سریع و امن با پایتون هستی، این دوره دقیقاً برای توست. قدمبهقدم از مبانی شروع میکنیم و تا پیادهسازی در محیط تولید (Production) پیش میرویم: از راهاندازی و طراحی Endpointها، پایگاهداده، احراز هویت و مجوزها، تستنویسی و مهاجرت دیتابیس تا نسخهسازی با Git و دیپلوی نهایی. این دوره چه چیزهایی بهت میدهد؟ شناخت کامل FastAPI و مزیتهایش (سرعت بالا، تایپهینتها، مستندسازی خودکار، async) ساخت RESTful APIهای تمیز و ماژولار با الگوهای حرفهای پیادهسازی لایههای Authentication & Authorization (مانند توکنهای JWT و نقشها) اتصال به پایگاهداده و آمادهسازی Database برای تولید به همراه مفاهیم اساسی Performance و ایمنی داده انجام مهاجرتهای دیتابیس (Alembic) بدون از دست رفتن داده Unit & Integration Testing برای اطمینان از کیفیت کد ساخت یک اپلیکیشن فولاستک با API بکاند FastAPI و یک فرانتاند رایج مدیریت نسخهها و گردشکار تیمی با Git Deploy امن و استاندارد روی سرور یا سرویسهای ابری 🎯 مخاطبان این دوره برنامهنویسان پایتون که میخواهند APIهای سریع و مقیاسپذیر بسازند بکاند دولوپرهایی که به دنبال Production-Ready FastAPI هستند دانشجویان یا فریلنسرهایی که میخواهند با نمونهکارهای واقعی، وارد بازار کار شوند پیشنیاز: آشنایی پایه با پایتون (متغیرها، توابع، ماژولها). بقیه را در خود دوره یاد میگیری. خروجی نهایی تو پس از دوره یک بکاند استاندارد و Production-Ready با FastAPI تسلط بر احراز هویت و مجوزها و الگوهای امنیتی رایج مهارت در مهاجرتهای دیتابیس و نگهداری داده در طول توسعه توانایی نوشتن تست برای اطمینان از کیفیت و کاهش ریسک تجربه ساخت یک پروژه فولاستک برای رزومه و پرتفولیو آمادگی برای دیپلوی و نگهداری سرویس در محیط واقعی چرا این دوره متفاوت است؟ پروژهمحور و کاملاً عملی؛ هر فصل یک خروجی ملموس میسازد تمرکز روی آنچیزی که در محیط تولید واقعاً به آن نیاز داری سادگی بیان + استانداردهای حرفهای = یادگیری سریع اما اصولی چطور از دوره استفاده کنم؟ ویدیوها را به ترتیب ببین و همزمان کدنویسی کن هر فصل یک Feature واقعی بساز در انتها آمادهای کدت را روی سرور/ابر بالا بیاوری اگر این دوره برات مفید بود، لطفاً لایک، سابسکرایب و کامنت یادت نره تا فصلهای جدیدتر و پروژههای بیشتر بسازیم 🙌
میزدیم بذار یه ریکوست بزنم
خبرو
بیایم یه دونه ریکست الان بزنی من اینو یه رفرش بدم
چپ سدرس نمیکرد خب اینجا نگاه کنید مثلاً من این ریکوستو میزنم
میبینید یه کدی برمیگردونه به اینا میگن
استاتوس کد
مدلای مختلف داره معنی ی مختلفی داره که
الان میخوایم راجع بهش صحبت کنیم. خب
نگاه کنید ما ۵ تا کلاس استاتوس کد داریم.
اونایی که با یک شروع میشن
یه اطلاعاتی رو قراره که در حقیقت در
رابطه با اون ریکوستی که شما زدید بهتون
میده.
یه حالتی که مثلاً انگار ریکوستو من گرفتم
دارم مثلاً روش کار میکنم. خب
اونایی که با دو شروع میشن
زمانی که ریکوست انجام شده با موفقیتم
انجام شده و داره به شما پاسخ میده
و میگه که مثلاً ریکوسته اوکی شد پس
اونایی که با دو شروع میشن به معنی موفقیت
آمیز بودنه
اونایی که با سه شروع میشن
ریدایرکشنن یعنی اینکه یک کاری رو میخوان
انجام بدن در یک آدرس دیگه در یک یوآرlل
دیگه
اونایی که با ۴ شروع میشن که معروفترین
استاتوس کدا هستن و احتمالاً خیلی باهاشون
رودررو شدید خطایی هستن که سمت کلاینت
اتفاق میفتن مثال عرض میکنم خطای ۴۰۴
معروف که
زمان اتفاق میفته که شما یک آدرسی رو
مثلاً اشتباه زده باشید و اون آدرس وجود
نداشته باشه تو اون اپلیکیشن یا مثلاً
خطای ۴۲۹
زمانی که شما یه تعداد زیادی ریکوست رو
سمت یک سروری ارسال بکنید از یک منبع
در حقیقت جلو ریکوستهای شما رو میگیره و
به شما خط ۴۲۹ میده.
خطهای که ۵ شروع میشن خطهای سروری هستن
خطایی هستن که سرور مثلاً دان شده فرضً
خطای ۵۰۰ داره میده حالا حالتهای مختلف
این پایینم
یه لیستی ازش هست با دیتیل حالا خیلی
نمیخوایم دونه دونه اینا رو بهتون بگیم
یه تعدادیشو الان بریم با همدیگه ببینیم
داخل همین پروژه که داشتیم بریم با همدیگه
ببینیم
خب بیایم اینجا اینجا
به عنوان مثال بچهها اینجا رو نگاه کنید. نه این نه بذارید همین همین اینجا چه
ریکوستیه بچهها؟ ریکوستی بود که من آیدی
کتاب رو میدادم اطلاعات تو کتاب
برمیگردوند حالا یه سؤالی اگر آیدی کتاب
وجود نداشته باشه مثلاً بهد ۱۴ من کلاً
چار تای پ تا کتاب دارم چه اتفاقی میفته
الان اتفاقی فکر نکنم بیفته بریم با هم
ببینیم
اینو این بود
مثلاً من بدم ۲۰ ندارم این کتابو دیگه
الان چه اتفاقی میفته
بیایم خطای
نامربوطی میدی که اصلاً به درد نمیخوره.
خب حالا میخوام اینو درست کنم. میخوام
در جوابش یه خطایی بدم که به درد بخوره.
بشه توی فرانت ازش استفاده کرد.
اول باید یه چیزی رو ایمپورت کنم توی فست
ایپیآی به نام اچ تیتی پی اکسپشن.
بعد میایم اینجا
میگم که
بیرون این حلقه فور
اگر کتابی برنگردوند یعنی نبود ریس کنیز
توی اکسپشن
اول یه استاتوس کد بهش میدم مثلاً میدم
۴۰۴ وجود نداره
۴۰۴ نات فانده میبینید یعنی هیچ ریسورسی وجود
نداره برای اون درخواستی که زدید دقیقاً
همون چیزی که ما میخوایمه
و یه پیغامی هم میفرستم
دیتیل
آیتم نات فوند
خب بریم با هم تست بکنیم الان ببینیم واقعاً اینو به ما میده
نگاه کنید یه پیغامی برگردوند استاتوس کد ۴۰۴
و اینو میشه سمت فرانت ازش استفاده کرد
خب بریم سراغ یه حالت دیگه و
یه استاتوس دی استاتوس کد دیگه پیادهسازی
بکنیم
ما یه سری ریکوست داریم
که
میخوایم اگر
بذار بیزم فکر میکنم آها بیایم اینم پیاده سازی بکنیم
توی آپدیت بوکم ما داریم آیدی پاس میدیم
خب حالا اینجا اگر این کتابه نبود چه
اتفاقی بیفته
چ زاویه فالس خب
بعد میام اینجا میگم که
اگر کتابه بود و تغییرش دادی این بوک چنجو
بکن تو رو
حالا میتونم بر اساس این مقدار بولین یه
کاری انجام بدم بگم اگر
ایف نات بوکچ چنج اگه بوک چنج فالس بود
در اون صورت ریز کن
یه خطایی رو با استاتوس کد دوباره ۴۰۴ و
دیتیل
آیتم نا فون
پس میگم که اگر استاتوس کد فالس باشه یعنی
کتابه پیدا نشده دیگه دیگه درسته اگه این
فارس باشه ناتش میشه ترو این شرط درسته و
اینو اجرا میکنیم
بریم اینم با هم ببینیم میتونیم چک کنیم
توی آپدیت
اینجا
نوشتنده رو داریم ریتینگ تتر یه کتابی باید اینجا بدیم که تو اون
لیستمون نیست نیست
خب این از این اینو کجا دیگه استفاده کنیم توی
اینجا هم فکر کنم بهش استفاده کرد تو دیلیتم بله میتونید استفاده بکنید تو
دیلیتم
دقیقاً همون فرمونه میگیم که
یه دونه اینو تعریف میکنم
تو دیلیت
بعد اینجا میگم اینو ترو کن اگر بود کتابه
و دیلیت کردی اینو ترو کن بعد یه دونه
شرطم بعدش میذارم
که اگه کتاب نبود پیغام بدهم هیچ کتابی وجود نداره که بخوام دیلیتش بکنم
این تست کردنشم کاری نداره
توی دیلیت
آ دیلیت کن دیلیت
آیدی رو مثلاً بدم ۲۲
خط ۴۰۴ آیت فانت
بریم سراغ یه مثال دیگه و ما استاتوس کد ۲۰۰ رو هم از یه تست
بکنیم جاهایی که ریکوستمون موفقه یعنی
اتفاق انجام میشه ریکوستمون
تو این حالتو باید خطای استات کد ۲۰۰ بدیم
فقط باید برای این کار اول یه چیزی رو
ایمپورت کنم من دوباره
خب بیام بالا بگم که برو از یه چیز زمانی که شما فست ایپیآیو نصب میکنید همراهش یه
چیزی نصب میشه به نام استالت
میگم ایمپورت بکن
استاتوسو خب میخوام از اس
حالا باید چیکار کنیم؟ جاهایی که
ریکوستمون موفقه خب
مثلاً توی اینجا که کتاب رو ریکوست میدیم
لیست کتابا رو بگیریم میگم اگر ریکوست
موفق بود استاتوس کد
برو از استاتوس که الان ایمپورتش کردم.
اچ تی تی پی نگاه کنید لیست کلشو داره یه
دونه ۲۰۰ اوکی بگیر برگردون
اگه درخواستم م موفقیت آمیز بود این جواب
برگردون
همینو برای جای دیگه هم استفاده میکنیم
اینجا هم میتونیم استفاده کنیم
جاهایی که ریکوستمون موفقیت آمیزه اینجا هم میشه
اینجا دیگه
خب پس اینا اگه درخواستمون موفقیت آمیز باشه خطا رو این استاتس کدو برمیگردونیم
توی
کریتم میتونیم این کار بکنیم اگر با موفقیت آمیز کتاب ساخته شد اینجا البته
اینو شاید تغییر بدیم چی بدیم اینجا میدیم
کریتد
۲۱ کریتد مثلاً این فرق میکنه
بعد توی آپدیتم میتونیم این کارو بکنیم تو آپدیتم اگر موفقیت آمیز بود و آپدیت شد
میایم میگیم که
و ببینیم دیگه چی داریم دیلیتم داریم درسته آره برای دیلیتم
میتونیم بگیم که دوباره همین نو کانتنت
یعنی چیزی برنگردونیم
اکانت این بالاست خب الان میریم تستم میکنیم اینا رو همه رو
بریم یه تست کنیم
کل کتابا رو که ریکوست میدم
۲۰۰ برگردوند
خب یه دونه مثلاً از اون نو کانتنتهم ببینید دیلیتو مثلاً
بیایم چک کنیم
اصلاً د رو میگم دیلیت کن
۲۴ نگاه کنید برگردون استوس کد ۲۴
اوکی پس داره کار میکنه اینم از استاتوس کدامون نکته دیگهای
نمیمونه که بهتون بگم
خب بچهها این پروژههمونم تموم شد بریم بیایم جلسه بعدی میریم سراغ یه پروژه دیگه
و با یه سری مفاهیم دیگه آشنا بشیم فعلاً
خداحافظ ‏Yes.