API ဆိုတာဘာလဲ

API ဆိုတာဘာလဲ API ( Application Programming Interface) ဆိုတာတကယ်ကျ ပျားလေးတွေလိုပါပဲ ပျားကလေးတွေက ပန်းတစ်ပွင့်နဲ့တစ်ပွင့် သိစရာမလိုပဲ ဝတ်မှုံသယ်ဆောင်သွားပေးသလို ေပါ့။ API ကလဲ frontend ရဲ့ ကလိုအပ်တဲ့ data နဲ့ လုပ်ဆောင်ချက်တွေကို backend နဲ့ကထုတ်လုပ် ပေးပြီး api ကသယ်ပြီးအပြန်အလှန်ပိုပေးရတာပေါ့။ API ကိုသုံးမယ်ဆိုရင် service / product/ software တစ်နဲဲ့ တစ်ခု ဘာ technology နဲ့ေရးထားတယ်သိစရာမလိုပဲချိတ်ဆက်အသုံးပြုလိုရပါတယ်။ ဥပမာ Javascript framework တစ်ခုခု သုံးပြီရေးထားတဲ့ frontendကို api backendအေနနဲ့ ဘာနဲဖြစ်ဖြစ်ဆက်လို့ရပါတယ် PHP, Laravel apiလား၊ Python Apiလား၊ စသဖြင့် technology ကိုကြည့်စရာမလိုပဲ ချိတ်ဆက်အလုပ်လုပ်လို့ရတာေပါ့။ Appပဲ ဖြစ်ဖြစ် webပဲ ဖြစ်ဖြစ် backend apiကိုချိတ်ပြီး datbaseနဲ့အလုပ်လုပ်လို့ရတာေပါ့။ ဒါကြောင့် API က အချိန် ငွေလူ ကုန်ကျစရိတ်တွေကိုအများကြီးပိုသက်သာစေပါတယ်။ API ေရးမယ်ဆိုရင် method ဘာသုံးမှာလဲ, parameter ေတွက ေရာဘာေတွလဲ၊ return ဘာပြန်မှာလဲေပါ့ အချက်တွေ ပြင်ဆင်ရတာေပါ့။ api တစ် ကြောင်း ရဲ့ structure ဘာေတွပါလဲကြည့်ရေအာင် http://api.test.com/products/example ကိုကြည့်မယ်ဆိုရင် http://api.test.com/products ကို URL လိုေခါ်ပါတယ် (Uniform Resource Locator) http://api.test.com/products/example တစ်ခုလုံးကို URI လိုေခါ်ပါတယ် နောက်ဆုံးမှာ “ / ” ကို uri နော်ကမှာမထည့်တာကတော့ Goood praticeပေါ့။ (Uniform Resource Identifier) products ကတော့ pathဖြစ်ပါတယ်။ api.test.com ကတော့ host/domain ေပါ့။ ေနာ်ကပြီး ကတော့ http callအတွက်သုံးမဲ့ method ေပါ့။ API call အတွက်အရင်ဆုံးက Callတဲ့ Method အ ေကြာင်းကို shareေပးသွားပါမယ်။ #METHOD http callေခါ်တဲ့ အခါဘာ methodသုံးပြီးေခါ်မလဲဆိုတာကြည့်ရတာကိုေပြာတာပေါ့။ HTTP method 7ခုရှိပါတယ်။ GET, POST, PUT, HEAD, DELETE, PATCH,OPTIONS Get ကတော့ အသုံးအများဆုံးဖြစ်ပြီး data ကို ရယူတဲ့အပိုင်းမှာသုံးပါတယ်။ ဥပမာ Get methodနဲ့ http://api.test.com/products လိုေခါ်ရင် product list ကိုရယူတာမျိုး။ များေသာအားဖြင့် http client method အဖြစ် defaultေပးထားေလ့ရှိပါတယ်။ POST ကတော့ Server ကို client ကနေ data ပိုတဲ့အခါသုံးပါတယ်။ အထူသဖြင့် database မှာ data တစခု create လုပ်တာတို့ Update လုပ်တာတို့အတွက်ပေါ့။ POST method က non-idempotent ဖြစ်တယ်လို့လဲ ေပြာကြပါတယ်။ Idempotentဖြစ်တယ်ဆိုတာကတော့ requestတစ်ခုေခါ် တာ ေအာင်မြင်တိုင်း အကြိမ်ရေတိုင်းမှာ က ခုညီတဲ့ result ပြန် ပေးပြီး side effect မရှိတာကိုေပြာချင်တာပါ။ POST က non-idempotent ဖြစ်တယ်ဘာလိုဆို အသစ်အသစ်အမြဲဖန်တီးသွားလို့ပါ။ PUTက ေတာ့ Update ဒါမှမဟုတ် Create လုပ်ဖို့အတွက်သုံးပါတယ်။ PUT ကတော့ idempotentဖြစ်ပါတယ် ဘာလို့ဆို အမြဲ update လုပ်တာမိုဘယ်ရကြိမ် ေခါ် ေခါ် side effectမ ရှိ ပဲအတူတူပဲမို့ပါ။ PATH ကတော့ လူသုံးနဲ့ တဲ့ HTTP request ဖြစ်ပြီး သူကတော့ အစိိတ်အပိုင်းတစ်ခုထဲကို ကွက်ပြီးပြင်ချင်တဲ့အခါ်သုံးပါတယ်။ ဥပမာ /product/{{product_id}} ဆိုပြီး product title ပဲပို့ပြီး update လုပ်တာမျိုးေပါ့။ DELETEကတော့ ရှင်းပါတယ် data resource ကို ဖျက်ချင်တဲ့အခါသုံးတာေပါ့။ HEAD request ကတော့ GET request နဲ့တူပါတယ် ဒါပေမဲ့ response body return မ ပြန်ပေးဘူးဖြစ်ပါတယ်။သူကတော့ GET request ို checking လုပ်ဖို့သုံးတာေပါ့။ ဥပမာ ဒိ data resourcesကရှိသေးလာစစ်တာေပါ့။ OPTIONS request ကတော့ နောက်ဆုံးrequest ဖြစ်ပါတယ်လူသိနည်းပေမဲ့အသုံးဝင်တဲ့တစ်ခုပေါ့ သူကတော့ သူကတော့ resource အတွက် ဆက်သွယ်လို့ရမဲ့ optionsပေးတာေပါဲ။ APIမှာ ဘာ Method တွေခွင့်ပြုထားလဲဆိုပြီးစစ်တာမျိုးပေါ့။ ဒီနေ့ တော့ ဒီလောက်ပါပဲ API အတွက် နောက်အပိုင်းထက်ရှိပါအုံးမယ် Protocall , RESTful API, Respond Type, API version, webhook, API documentation, Testing Tool စတာ တောကို ဆက် share ပေးသွားပါမယ်။ Photo လေး တွေ postအောက် မှာ မန့် ထားပါတယ်ဗျ။ Post မတင်တာ နစ်ချီကြာသွားတယ် တောထဲမှာသိုင်းကျင့်နေတာနဲ့အခုပြန်ရေးဖြစ်လို့ ပုံမှန်လေးပြန် Shareပေးပါမယ်ဗျ။အမြဲအားပေးနေကြတဲ့တစ်ယောက်စီတိုင်းကိုကျေးဖူးပါဗျ။ ဖတ်ပေးလို့ကျေးဇူးပါဗျ။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။Facebook page ၊ telegram channel နဲ့ Youtube Channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ Facebook - @callmedevbypeter Telegram - https://t.me/callmedevbypeter Youtube - Call Me Dev by Peter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။ Thanks you ပါ။ #callmedevbypeter #api #application_programming_interface

blog

API ဆိုတာဘာလဲ

API ဆိုတာဘာလဲ API ( Application Programming Interface) ဆိုတာတကယ်ကျ ပျားလေးတွေလိုပါပဲ ပျားကလေးတွေက ပန်းတစ်ပွင့်နဲ့တစ်ပွင့် သိစရာမလိုပဲ ဝတ်မှုံသယ်ဆောင်သွားပေးသလို ေပါ့။ API ကလဲ frontend ရဲ့ ကလိုအပ်တဲ့ data နဲ့ လုပ်ဆောင်ချက်တွေကို backend နဲ့ကထုတ်လုပ် ပေးပြီး api ကသယ်ပြီးအပြန်အလှန်ပိုပေးရတာပေါ့။ API ကိုသုံးမယ်ဆိုရင် service / product/ software တစ်နဲဲ့ တစ်ခု ဘာ technology နဲ့ေရးထားတယ်သိစရာမလိုပဲချိတ်ဆက်အသုံးပြုလိုရပါတယ်။ ဥပမာ Javascript framework တစ်ခုခု သုံးပြီရေးထားတဲ့ frontendကို api backendအေနနဲ့ ဘာနဲဖြစ်ဖြစ်ဆက်လို့ရပါတယ် PHP, Laravel apiလား၊ Python Apiလား၊ စသဖြင့် technology ကိုကြည့်စရာမလိုပဲ ချိတ်ဆက်အလုပ်လုပ်လို့ရတာေပါ့။ Appပဲ ဖြစ်ဖြစ် webပဲ ဖြစ်ဖြစ် backend apiကိုချိတ်ပြီး datbaseနဲ့အလုပ်လုပ်လို့ရတာေပါ့။ ဒါကြောင့် API က အချိန် ငွေလူ ကုန်ကျစရိတ်တွေကိုအများကြီးပိုသက်သာစေပါတယ်။ API ေရးမယ်ဆိုရင် method ဘာသုံးမှာလဲ, parameter ေတွက ေရာဘာေတွလဲ၊ return ဘာပြန်မှာလဲေပါ့ အချက်တွေ ပြင်ဆင်ရတာေပါ့။ api တစ် ကြောင်း ရဲ့ structure ဘာေတွပါလဲကြည့်ရေအာင် http://api.test.com/products/example ကိုကြည့်မယ်ဆိုရင် http://api.test.com/products ကို URL လိုေခါ်ပါတယ် (Uniform Resource Locator) http://api.test.com/products/example တစ်ခုလုံးကို URI လိုေခါ်ပါတယ် နောက်ဆုံးမှာ “ / ” ကို uri နော်ကမှာမထည့်တာကတော့ Goood praticeပေါ့။ (Uniform Resource Identifier) products ကတော့ pathဖြစ်ပါတယ်။ api.test.com ကတော့ host/domain ေပါ့။ ေနာ်ကပြီး ကတော့ http callအတွက်သုံးမဲ့ method ေပါ့။ API call အတွက်အရင်ဆုံးက Callတဲ့ Method အ ေကြာင်းကို shareေပးသွားပါမယ်။ #METHOD http callေခါ်တဲ့ အခါဘာ methodသုံးပြီးေခါ်မလဲဆိုတာကြည့်ရတာကိုေပြာတာပေါ့။ HTTP method 7ခုရှိပါတယ်။ GET, POST, PUT, HEAD, DELETE, PATCH,OPTIONS Get ကတော့ အသုံးအများဆုံးဖြစ်ပြီး data ကို ရယူတဲ့အပိုင်းမှာသုံးပါတယ်။ ဥပမာ Get methodနဲ့ http://api.test.com/products လိုေခါ်ရင် product list ကိုရယူတာမျိုး။ များေသာအားဖြင့် http client method အဖြစ် defaultေပးထားေလ့ရှိပါတယ်။ POST ကတော့ Server ကို client ကနေ data ပိုတဲ့အခါသုံးပါတယ်။ အထူသဖြင့် database မှာ data တစခု create လုပ်တာတို့ Update လုပ်တာတို့အတွက်ပေါ့။ POST method က non-idempotent ဖြစ်တယ်လို့လဲ ေပြာကြပါတယ်။ Idempotentဖြစ်တယ်ဆိုတာကတော့ requestတစ်ခုေခါ် တာ ေအာင်မြင်တိုင်း အကြိမ်ရေတိုင်းမှာ က ခုညီတဲ့ result ပြန် ပေးပြီး side effect မရှိတာကိုေပြာချင်တာပါ။ POST က non-idempotent ဖြစ်တယ်ဘာလိုဆို အသစ်အသစ်အမြဲဖန်တီးသွားလို့ပါ။ PUTက ေတာ့ Update ဒါမှမဟုတ် Create လုပ်ဖို့အတွက်သုံးပါတယ်။ PUT ကတော့ idempotentဖြစ်ပါတယ် ဘာလို့ဆို အမြဲ update လုပ်တာမိုဘယ်ရကြိမ် ေခါ် ေခါ် side effectမ ရှိ ပဲအတူတူပဲမို့ပါ။ PATH ကတော့ လူသုံးနဲ့ တဲ့ HTTP request ဖြစ်ပြီး သူကတော့ အစိိတ်အပိုင်းတစ်ခုထဲကို ကွက်ပြီးပြင်ချင်တဲ့အခါ်သုံးပါတယ်။ ဥပမာ /product/{{product_id}} ဆိုပြီး product title ပဲပို့ပြီး update လုပ်တာမျိုးေပါ့။ DELETEကတော့ ရှင်းပါတယ် data resource ကို ဖျက်ချင်တဲ့အခါသုံးတာေပါ့။ HEAD request ကတော့ GET request နဲ့တူပါတယ် ဒါပေမဲ့ response body return မ ပြန်ပေးဘူးဖြစ်ပါတယ်။သူကတော့ GET request ို checking လုပ်ဖို့သုံးတာေပါ့။ ဥပမာ ဒိ data resourcesကရှိသေးလာစစ်တာေပါ့။ OPTIONS request ကတော့ နောက်ဆုံးrequest ဖြစ်ပါတယ်လူသိနည်းပေမဲ့အသုံးဝင်တဲ့တစ်ခုပေါ့ သူကတော့ သူကတော့ resource အတွက် ဆက်သွယ်လို့ရမဲ့ optionsပေးတာေပါဲ။ APIမှာ ဘာ Method တွေခွင့်ပြုထားလဲဆိုပြီးစစ်တာမျိုးပေါ့။ ဒီနေ့ တော့ ဒီလောက်ပါပဲ API အတွက် နောက်အပိုင်းထက်ရှိပါအုံးမယ် Protocall , RESTful API, Respond Type, API version, webhook, API documentation, Testing Tool စတာ တောကို ဆက် share ပေးသွားပါမယ်။ Photo လေး တွေ postအောက် မှာ မန့် ထားပါတယ်ဗျ။ Post မတင်တာ နစ်ချီကြာသွားတယ် တောထဲမှာသိုင်းကျင့်နေတာနဲ့အခုပြန်ရေးဖြစ်လို့ ပုံမှန်လေးပြန် Shareပေးပါမယ်ဗျ။အမြဲအားပေးနေကြတဲ့တစ်ယောက်စီတိုင်းကိုကျေးဖူးပါဗျ။ ဖတ်ပေးလို့ကျေးဇူးပါဗျ။ Facebook မှာရော Telegramမှာပါ ဝင်ရောက်ဆွေးနွေးပေးကြပါဗျ။Facebook page ၊ telegram channel နဲ့ Youtube Channel ကို follow subscribe လုပ်သွားနိုင်ပါတယ်ဗျ။ Facebook - @callmedevbypeter Telegram - https://t.me/callmedevbypeter Youtube - Call Me Dev by Peter သိချင်တဲ့အကြောင်းအရာရှိရင် comment မှာရေးသွားပါဗျ။ Thanks you ပါ။ #callmedevbypeter #api #application_programming_interface

Call Me Dev by Peter Logo

CallMeDevbyPeter

Since 2022