Building Rest APIs With Django Rest Framework
=============================
Rest APIs များကို Django Rest Framework နဲ့ ဘယ်လို လွယ်လွယ်ကူကူ မြန်မြန်ဆန်ဆန် မှန်မှန်ကန်ကန် ရေးရမယ်ကို သင်ကြားပေးမယ့် course ကနေကြိုဆိုလိုက်ပါတယ်။ပထမဦးဆုံး ကိုယ်က freelance developer ဖြစ်ဖြစ် backend developer or web developer ကောင်း တစ်ယောက်ဖြစ်ဖို့ကြိုးစားနေသူ ဒါမှမဟုတ် tech entrepreneur တစ်ယောက်ဆိုလို့ရှိရင် ဒီ course က မိတ်ဆွေအတွက် အသင့်တော်ဆုံးပါပဲ။
ဘာကြောင့်လဲဆိုတော့ ဒီနေ့ခေတ်မှာ development steps တော်တော်များများသည် frontend ကို ရွှေ့လာကြပါတယ်။ဥပမာအားဖြင့် react,vuejs,angular စသဖြင့် နာမည်ကြီး frontend library or framework များ အလွန်တိုးတက်လာတာကိုတွေ့ရမှာပါ။ဒီ frontend တွေနဲ့ ချိတ်ဆက်အသုံးပြုဖို့ rest api ဆိုတာလိုလာပါတယ်။ပြီးတော့ mobile app တွေနဲ့ backend server ချိတ်ဆက်အသုံးပြုတဲ့နေရာမှာလဲ ဒီ rest api တွေက လိုကိုလိုအပ်လာပါတယ်။ဒီ Rest APIs ကိုမှ မရေးတတ်ရင် web developer, backend developer လို့ ခေါ်လို့တောင်မရတော့တဲ့ ခေတ်ကိုရောက်ရှိလို့လာပါပြီ။အဲ့တော့ အခုမှလေ့လာတယ့် ကျောင်းသားတွေအနေနဲ့ လုပ်ငန်းခွင်ဝင်ဖို့ အထူးပြင်ဆင်ထားသင့်တဲ့ skill တစ်ခုဖြစ်ပါတယ်။
ကျွန်တော်တို့ DetailProjects က ဒီလို အသုံးဝင်လှတဲ့ skill တစ်ခုတိုးတက်အောင် ဒီ course မှာ ဘယ်လိုသင်ကြားပေးသွားမလဲဆိုတာတော့ကိုတော့ အောက်မှာဆက်ဖတ်ပေးပါခင်ဗျာ။
ပထမဦးဆုံး ကျွန်တော်တို့ REST API ဆိုတာဘာလဲ ဘယ်လိုနေရာတွေမှာ သုံးလဲ ဘာကြောင့်သုံးလဲကို လွယ်လွယ်ကူကူနဲ့ လိုအပ်တာလောက်ပဲ ပြောပြီးရှင်းပြပေးထားပါတယ်။ဒီ course ရဲ့ ရည်ရွယ်ချက်ကိုက အချိန်မကုန်ပဲ မြန်မြန်ဆန်ဆန်လေ့လာနိုင်ဖို့ပါ။
ဒါပြီးရင်တော့ တဆင့်ချင်းစီ ဒီ course ကို သေချာနားလည်ဖို့ လိုက်လုပ်နိုင်ဖို့ ဘာတွေလိုအပ်တယ်။ဘယ်လို tools တွေ သုံးသွားမယ်ကို ရှင်းပြပေးထားတာမို့ လိုက်လေ့လာဖို့အဆင်ပြေစေမှာပါ။နားမလည်ရင်လဲ အချိန်မရွေး လာမေးလိုက်ယုံနဲ့ ကူပြီးဖြေရှင်းပေးဖို့ support ရှိတယ်လေ။
လိုအပ်တာတွေ setup လုပ်ပြီးပြီဆိုတော့ First API တစ်ခုစရေးသွားပါမယ်။ဒီလို ရေးတဲ့အခါမှာ ဘာကြောင့်ဒီလို view မျိုးကို သုံးတာလဲ သူ့အားသာချက်တွေက ဘာရှိလဲ ပြီးတော့ api ရေးမယ့် developer တစ်ယောက်အနေနဲ့ frontend developer က ဘာကိုဆိုလိုလဲ သဘောပေါက်အောင် ဘယ်လိုရေးရမလဲကို ရှင်းပြပေးထားပါတယ်။
အိုကေ ကိုယ်က API ရေးတာနဲ့ ရင်းနှီးလာပြီဆိုတော့ CRUD operation ရေးဖို့ advance view တွေ ဘယ်လိုသုံးရမလဲ။Django Rest Framework မှာ နှစ်ကြောင်းလောက်ရေးယုံနဲ့ လိုအပ်တဲ့ Create,Retrieve,Update,Partial Update,Delete စတဲ့ operation အားလုံးကို အလိုလိုတည်ဆောက်ပေးသွားတယ် ဒီလို တည်ဆောက်ပေးတာကို ဘယ်လို setup လုပ်မလဲရှင်းပြပေးပါတယ်။အဲ့တော့ ကိုယ်က ပိုပြီး အရေးကြီးတဲ့ process တွေကို ပိုအာရုံစိုက်ဖြစ်တာပေါ့။သင်ခန်းစာတွေထဲမှာရှင်းပြတာတော့ ပိုနက်နဲတာပေါ့။ဒီမှာတော့ ကျွန်တော်တို့ overview ပဲ ပြောလို့ရတာကို နားလည်ပေးပါ။
ဒါပြီးရင်တော့ Json Web Token တွေကို သုံးပြီး django rest framework မှာ authentication system ဘယ်လိုထည့်မလဲ။access token ကဘာလဲ ဒီ token တွေက အချိန်တစ်ခုရောက်လို့ expire ဖြစ်သွားရင်ကော ဘယ်လိုလုပ်မလဲ expire time တွေကော ဘယ်လို change မလဲ စသဖြင့်ရှင်းပြပေးပြီး api endpoint တစ်ခုကို login ဝင်မထားပဲ ခေါ်လို့မရအောင် permission တွေ ဘယ်လို ပိတ်သွားမလဲကို သင်ပေးသွားမှာပါ။ဒါပြီးရင်တော့ serializer တွေမှာ နောက်ထပ် serializer တွေထည့်ပြီး ဘယ်လိုသုံးရမလဲကို လေ့လာရပါမယ်။
ဒါ့အပြင် API Testing လုပ်ရမှာလဲ Browsable API ကော postman နဲ့ပါ testing လုပ်နည်းပြပေးထားတာမို့ အခုမှ စလေ့လာမဲ့ သူတွေအတွက် အစကောင်းတစ်ခုဖြစ်မှာပါ။
ကိုယ်က API ရေးတာတော့ ဟုတ်ပါပြီ။ကိုယ်ရေးထားတာကို နားမလည်ဘူး Interactive ဘာ response ပြန်လာမလဲ စမ်းလို့မရဘူးဆို integrate လုပ်မယ့် developer အတွက် အခက်တွေ့နိုင်ပါတယ်။ဒီတော့ swagger ui ကို သုံးပြီး API Documentation ဘယ်လို တည်ဆောက်ရမလဲကို သင်ပေးပြီး production server ပေါ်တင်သွားပါမယ်။Production server ပေါ်တင်တဲ့အခါ local ကော production ကော အဆင်ပြေအောင် ဘယ်လို setting ထားရမလဲကို သေချာဆွေးနွေးပြီး step by step လုပ်ပြထားတာမို့ လုံးဝနားလည်မယ်ဆိုတာအသေအချာပါပဲ။
ကဲဒါ့အပြင် In Progress ဖြစ်နေတဲ့ Custom API View ရေးနည်းတွေ တခြား serializer field တွေ custom permission သတ်မှတ်ပုံတွေကို ရှင်းပြမဲ့ Bonus Lectures များလဲ ထည့်ပေးသွားမှာမို့ မိတ်ဆွေကို အတန်းထဲမှာတွေ့ချင်ပါတယ်။
နားကောနားလည်ပါ့မလား လေ့လာနေရင်းမကြိုက်ရင်ကော ဘယ်လိုလုပ်ရမလဲ? စိတ်မပူပါနဲ့ နားမလည်တာနဲ့ လာမေးလို့ရပြီး လုံးဝအဆင်မပြေဘူး မကြိုက်ဘူးဆိုပါက တစ်ပါတ်အတွင်း လာပြောတာနဲ့ သင်တန်းကြေး အပြည့်အ၀ ပြန်အမ်းပေးတာမို့ စိတ်ချလက်ချလေ့လာနိုင်ပါတယ်။ကျွန်တော်တို့ DetailProjects ရဲ့ reviews များကိုလဲ website ထဲဝင်ကြည့်ရင် တွေ့နိုင်တာမို့ အောက်ပါ requirements တွေနဲ့ ပြည့်တယ်ဆို နားကိုနားလည်မယ်လို့ အာမခံပါတယ်။
Requirements
ဒီ အတန်းကို တတ်မယ့်သူက python programming နားလည်ရမယ်။Django Web Framework အခြေခံကို နားလည်ထားတယ့်သူဖြစ်ရပါမယ်။Python အခြေခံရှိပြီး Django Web Framework ကို မလေ့လာဖူးဘူးဆို အောက်ပါ course ကနေ သွားလေ့လာနိုင်ပါတယ်။
https://detailprojects.com/course/django-for-beginners-learn-by-building-personal-blog/