پیاده سازی سرویس RESTful بوسیله Slim (قسمت دوم)

در قسمت اول این مطلب توضیحاتی در مورد چگونگی پیاده سازی یک سرویس RESTful به وسیله میکرو فریم ورک Slim همراه مثال هایی برای پیاده سازی عملکرد های ثبت و خواندن اطلاعات ارایه شد. در ادامه در این قسمت پیاده سازی عملکرد های به روز رسانی، حذف و فهرست کردن اطلاعات بیان خواهد شد.

همانطور که اطلاعت دارید  به صورت معمول در سرویس های REST از متد GET برای خواندن اطلاعات، از POST برای ثبت اطلاعات، از PUT برای به روز رسانی اطلاعت و برای حذف اطلاعات از متد DELETE استفاده می شود.

همچنین به شکل اصولی تر در پاسخ ریکوئست دریافتی می بایست متناسب با شرایط کد وضعیت یا Status خاصی بازگردانده شود. برای اطلاعات بیشتر در مورد این گونه جزییات وب سایت REST API Tutorial منبع مناسبی خواهد بود.

در تکمیل قسمت قبل در پایین نحوه به روز رسانی یاداشت ها یا همان عملیات Update را مشاهده می کنید و در ادامه مطلب توضیحاتی در مورد نمونه کد زیر ارایه خواهد شد.

همانطور که مشاهده می کنید، در خطوط ۵ تا ۱۱ کد بالا از طریق ORM سعی در یافتن یاداشتی متناسب با شناسه دریافتی می شود و در صورتی که یاداشتی با شناسه مشخص شده در آدرس یافت نشود استاتوس کد ۴۰۴ به مفهوم «یافت نشد» باز گردانده می شود.

در خط ۱۴ محتوای دریافتی به صورت JSON در متن ریکوئست به آبجکت پی اچ پی تبدیل می شود و در خطوط ۱۷ و ۱۸ فیلد ها بر اساس اطلاعات آبجکت مقدار دهی می شوند.

مشابه مثال قبلی در ایجاد باداشت جدید، در اینجا هم در خطوط ۲۰ تا ۲۴ سعی در ذخیره سازی اطلاعات خواهد شد و در صورت عدم ذخیره اطلاعات استاتوس کد ۴۰۰ در جواب باز گردانده خواهد شد که به معنی «در خواست نا معتبر» است.

در خط ۲۷ کد بالا در صورت که ذخیره سازی اطلاعات به درستی انجام شده باشد کد وضعیت یا استاتوس کد ۲۰۴ به مفهوم «بدون محتوی» به کاربر باز گشت داده میشود.

دوستان توجه داشته باشید که بنا به شرایط مختلف می توانید نسبت به نیاز از کد های مختلف استفاده کنید که رفرنس آن در وب سایتی که در بالا ذکر شد در دسترس است.

در ادامه این مطلب، عملیات بعدی، عملیات حذف یا Delete هست با استاده از متد DELETE، که پیاده سازی ان در مثال ما به صورت زیر خواهد بود.

در کد بالا مشابه مثال قبل ابتدا بررسی می شود که شناسه دریافتی معتبر هست یا خیر و در صورت عدم اعتبار استاتوس کد ۴۰۴ در هدر بر گردانده می شود.

سپس با فراخوانی متود حذف در خط ۱۴ ام کد بالا سعی در حذف یاداشت با شناسه مورد نظر از دیتابیس می کند. در صورت ناموفق بودن حذف در اینجا، کد ۵۰۰ به معنی وجود مشکل در سمت سرویس دهنده را بر گر دانده خواهد شد.

در خط ۲۱ ام در صورت عدم بروز خطا در عملیات در ریسپانس مربوط به ریکوئست در خواستی استاتوس کد ۲۰۰ به معنی اوکی یا بدون مشکل بر گردانده می شود.

در ادامه  و در آخرین مثال، چگونگی فهرست کردن اطلاعات را مشاهده خواهید کرد. این مرحله مشابه عملیات Read هست با این تفاوت که اینبار ما تمام یاد داشت های موجود را با توجه به تعداد مورد نظر از طریق REST فراخوانی میکنیم.

در کد بالا، در خطوط ۴ و ۵ ما پارامتر های start و limit را دریافت و در متغییر ست می کنیم. سپس در خطوط ۹ تا ۱۲ از طریق این متغیر ها تعداد مورد و نقطه شروع را در ORM مشخص و یاداشت ها را دریاقت میکنیم.

در خطوط ۱۵ تا ۲۴ یاداشت های دریافتی را در یک آبجکت جدید وارد می کنیم و در خطوط ۲۷ تا ۲۹ آبجکت های ایجاد شده را بعد از تبدیل به استرینگ JSON در محتوای ریسپانس قرار می دهیم.

یکی از ابزار هایی که برای تست یک وب سرویس REST بسیار کمک کننده هست، اکستنشن Postman برای کروم هست که بعد از نصب به صورت اپلیکیشن مستقل هم قابل اجرا هست. شما میتوانید تمامی مراحل فوق را از طریق این اکستنش تست و از صحت عملکرد کد خود اطمینان حاصل نمایید.

در این جا این مطلب هم به پایان رسید. سورس کامل این پروژه از طریق این آدرس قابل دسترس هست. چنانچه سوالی وجود داشت میتوانید از طریق قست نظرات و یا شبکه های اجتماعی با من در ارتباط باشید.

 

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site uses Akismet to reduce spam. Learn how your comment data is processed.