نحوه نوشتن نقطه پایانی و توابع ساده

یک ماه پیش من به KarmanX پیوستم و در آنجا با نحوه نوشتن توابع سطح ساده تا پیشرفته و نقاط پایانی آن آشنا شدم. من این فرصت را دارم که در جلسه Ankita Mam شرکت کنم، جایی که او نحوه نوشتن توابع ساده و پیچیده و نحوه کار فراخوانی API را توضیح داد، بنابراین در اینجا قصد دارم به طور خلاصه نحوه فکر کردن و نوشتن این توابع را توضیح دهم.
از بالا حفاری. به زبان ساده می توان گفت که مشتری از سرور درخواست می کند تا داده ها را از پایگاه داده فیلم استخراج کند اما اکنون مانند یک دیدگاه توسعه دهنده فکر می کند. در اینجا می دانیم که کلاینت از سرور درخواست می کند تا تمام فیلم ها را از پایگاه داده دریافت کند یا استخراج کند. از این خط می توانیم ایده ای برای نحوه ارسال درخواست دریافت کنیم.
اساسا app.get('/movies',async(req,res)=>{}) هر زمان که کاربر '/movies' را می نویسد، از سرور درخواست می کند که این داده های فیلم را دریافت کند. در داخل بلوک try من متغیر نتیجه را اعلام کرده ام که در آن تابعی را فراخوانی می کنم که همه فیلم ها را استخراج می کند. در اینجا ما از بلوک try-catch برای مدیریت خطا استفاده می کنیم.
من تابع getAllMovies را اعلام کرده ام که فیلم ها را برمی گرداند. در داخل بلوک try من نوشته ام اگر فیلم ها در پایگاه داده فیلم وجود ندارند [i.e I’m checking the length of the result]، خطای 404 را با پیغام “هیچ فیلمی یافت نشد!” را ارسال می کند. اگر فیلم ها در پایگاه داده وجود داشته باشد، با نتیجه پاسخ می دهد.
در بلوک catch اگر هر گونه خطای داخلی وجود داشته باشد، خطای 500 را با یک پیام خطای داخلی سرور پرتاب می کند. در اینجا من از async-await استفاده کرده ام. کلمه کلیدی async قبل از یک تابع باعث می شود که تابع یک وعده را برگرداند و کلمه کلیدی await فقط می تواند در داخل تابع async استفاده شود. کلمه کلیدی await باعث می شود که تابع اجرا را متوقف کند و منتظر وعده حل شده بماند.