آموزش Api نویسی با Ktor

امروز تو این مقاله قصد داریم با هم یه api ساده رو با استفاده از زبان کاتلین و فریم ورک جدید و مدرنش ktor بنویسیم. این api قرار نیست زیاد پیچیده باشه و فقط قراره با هربار اجرا شدن به صورت رندوم درباره یه غذا بهمون اطلاعات بده.در واقع این یه آموزش کوتاه و ساده برای اشنا شدن شما با فریم ورک ktor هست و شما باید با زبان کاتلین آشنایی داشته باشید!قبل از هر چیزی شما باید ide مورد نظر رو نصب کنید، من توی این آموزش قصد داریم از اینلیج استفاده کنم و شما میتونید اخرین نسخش رو به صورت رایگان از سایت رسمیش دانلود کنید.بعد از این که اینلیج رو نصب کردین باید به ادرس زیر برید و نام پروژه خودتون رو مشخص کنید ، توجه داشته باشید که باید از یک تحریم شکن استفاده کنید تا بخش های تنظیم پروژه و... براتون لود بشن!start.ktor.ioبعد از مشخص کردن اسم پروژه تنظیمات پروژه رو مثل عکس زیر تنظیم کنید.حالا به قسمت پلاگین ها برید و پلاگین های زیر رو نصب کنید :ContentNegotiation(از این پلاگین برای تبدیل مدل ها به جیسون استفاده میکنیم)CallLogging(از این پلاگین برای فیلتر کردن ادرس هامون استفاده میکنیم)kotlinx.serialization(برای ارسال اطلاعات به صورت جیسون و...مورد ستفاده قرار میگیره دقت کنید که این پلاگین به پلاگین اول که نصب کردیم وابستگی داره و هر دو موردش حتما باید نصب بشن)بعد از نصب پلاگین ها روی Generate project کلیک کنید تا پروژه رو دانلود کنید، بعد از دانلود پروژه ، فایل دانلود شده رو به یک پوشه منتقل و از حالت فشرده خارجش کنید و بعد وارد اینلیج بشید و open رو انتخاب کنید تا پروژه ای ساختید روی اینلیج اجرا بشه، این مرحله ممکنه مقداری زمان ببره.تو این پروژه قرار نیست به دیتابیس متصل بشیم ، پس اگر دوست داشتین برای بهتر شدن api خودتون یه پوشه جدید ایجاد کنید و تعدای عکس غذا رو داخل پوشه قرار بدین. همچنین داخل پوشه پلاگین ها میتونید فایل پلاگین های نصب شده رو ببینید.برای مشخص کردن پورت api میتونید به فایل application.conf برید و مثل عکس زیر پورت رو عوض کنید.یه توضیح کوتاه درباره فایل های داخل پوشه پلاگین هم بهتون بدم :فایل Monitoring در اصل فایل پلاگین CallLogging هست و با باز کردنش میتونید کد زیر رو مشاهده کنید.میتونید ببینید که api ما رو فیلتر کرده و هر چیزی که با / شروع بشه رو یک دستور تشخیص میده.فایل Routing این فایل مسیر ها و دستورات api هستن و تمام دستورات رو باید اینجا بنویسم.خب تا اینجا ما پیش نیاز های پروژه خودمون رو آماده کردیم و الان وقتشه شروع کنیم به برنامه نویسی Api خودمون.اول از هر چیزی باید یک مدل درست کنیم، پس باید یک دیتا کلاس به روش زیر ایجاد کنیم :حالا یک کلاس جدید برای نوشتن دستورات api میسازیم :قبل از نوشتن دستورات باید یک لیست از مدل غذا ها درست کنیم و مقداری دهیشون کنیم، برای این کار به ورش زیر عمل میکنیم.در اخر برای کامل کردن Api خودمون باید یک تابع بنویسیم که به صورت رندوم با هربار کال شدن api ما یکی از غذا ها رو بهمون برگردونه، برای این کار به روش زیر عمل میکنیم :تو کد بالا یک تابع با درخواستی از نوع get برای api نوشتیم و مسیرش رو مشخص کردیم، و بعد از اون کردیم که هربار که کال میشه باید یکی از ایتم های لیست غذا رو به صورت رندوم برای ما برگردونه.حالا باید به فایل Routing برگردیم و تابعی رو که نوشتیم اونجا صدا بزنیم و برنامه رو اجرا کنیم. برای اجرای برنامه ادرس زیر رو تو مرورگر وارد کنید :localhost:پورتی که مشخص کردین/foodsاگر مراحل بالا رو به درستی طی کرده باشید api شما به درستی کار میکنه و میتونید ازش استفاده کنید، درسته که این یک api ساده بود اما با کمی خلاقیت شما میتونید یه api برای بازی حدس تصاویر بنویسید و با کال کردنش تو اپلیکیشن موبایل یک اپلیکیشن بازی حدس تصویر آنلاین بسازید! امیدوارم از این آموزش لذت برده باشید و در آینده خودتون با ktor کلی Api خفن بنویسید!