တကယ်တော့ API ဆိုတာ beginner တွေအတွက် စိမ်းနေနိုင်ပေမဲ့ တော်တော်များများ ရင်းနှီးပြီးသားပါ။ Web Service နဲ့ပတ်သက်ပြီး သိထားသင့်တဲ့အရာဆိုလည်း မမှားပါဘူး။ ဒီတော့ API အကြောင်းမပြောခင် Web Service ဆိုတာကို အရင်ကြည့်ရအောင်။
Web Service ဆိုတာ မတူညီတဲ့ platform အတွက် ရေးသားထားတဲ့ application တွေကို internet protocol တွေကနေတစ်ဆင့် ချိတ်ဆက်အသုံးပြုနိုင်အောင် ဖန်တီးထားတဲ့ technology တစ်ခုဖြစ်ပါတယ်။
API ဆိုတာ ဘာလဲ ?
Application Programming Interface လို့ ခေါ်တဲ့ API ကို application တွေ တစ်ခုနဲ့ တစ်ခုကြား ချိတ်ဆက်အသုံးပြုနိုင်ဖို့ အသုံးပြုကြပါတယ်။ API တွေဆိုတာ Web, Database System နဲ့ အခြား Platform တွေမှာပါ သုံးကြပါတယ်။ ဥပမာ Direct X ဆိုတာ Microsoft က Game Development အတွက် ဖန်တီးပေးထားတဲ့ Windows API ပါ။
API တွေမှာ အဓိက လုပ်ဆောင်ချက်နှစ်ခုရှိတယ်။ ပထမတစ်ခုက ပေးပို့လာတဲ့ request တွေကို လက်ခံပေးတယ်။ နောက်တစ်ခုက လက်ခံရရှိလာတဲ့ request နဲ့ သက်ဆိုင်တဲ့ resource တွေကို server ပေါ်ကနေ ယူပြီး response တွေ ပြန်ပို့ပေးတယ်။ ဒီတော့ ကိုယ်ရေးနေတဲ့ application မှာ လိုအပ်တဲ့ requirement တွေအတွက် implementation လုပ်ရတာ ပိုမြန်သွားပါတယ်။ ဥပမာ ကိုယ့် website မှာ Map Location ထည့်သွင်းဖို့အတွက် Google Map API ကို သုံးလို့ရပါတယ်။
REST API
လက်ရှိအသုံးပြုနေကြတဲ့ API တွေထဲမှာမှ REST API ကို အသုံးများကြပါတယ်။ REST ဆိုတာ REpresentational State Transfer ကို ပြောတာပါ။ REST API က HTTP ပေါ်ကနေပဲ request တွေ response တွေကို စီမံပေးပါတယ်။ ပိုကောင်းတာက JSON data အပြင် XML response ပါ ပြန်ပေးနိုင်ပါတယ်။ ပြီးတော့ REST API သည် architecture အရ stateless ဖြစ်ပါတယ်။ ပြောချင်တာက Client ဘက်က cookie/session တွေကို server ဘက်မှာ သိမ်းမပေးပါဘူး။ ဒီတော့ နောက်ဆုံးလုပ်လိုက်တဲ့ request ပေါ်မူတည်ပြီးပဲ response ပြန်ပေးပါတယ်။ ဒီတော့ server ရဲ့ load ကို သက်သာအောင်လုပ်ပေးပါတယ်။ ဒါ့အပြင် server-side state synchronization မရှိတဲ့အတွက် ပိုပြီး ရှင်းလင်းပါတယ်။ လိုအပ်ရင်တော့ cache ရိုက်ပြီး သိမ်းလို့ရပါသေးတယ်။ ပြီးတော့ ထွေထွေထူးထူး deployment တွေမလိုပဲ client ကနေ server ကို request လုပ်လို့ရပါတယ်။
REST API မှာ request တွေကို URL တွေနဲ့ သတ်မှတ်ထားပြီး သက်ဆိုင်ရာ resource တွေဆီ ပို့ဆောင်ပေးပါတယ်။ REST API URL တစ်ခုမှာ API version, Service Endpoint နဲ့ Query String အစရှိတာတွေ ပါဝင်ပါတယ်။
ဒါကတော့ Google ရဲ့ email API ဖြစ်ပါတယ်။
https://www.googleapis.com/gmail/v1/users/me/messages?q=“in:sent after:2018/01/01 before:2018/01/30”
URL မှာ API version ပါဝင်ပြီး messages အထိသည် Service Endpoint ဖြစ်ပြီး အတိအကျပြောရရင် gmail endpoint ပါ။ ?q= အစရှိသဖြင့် အသုံးပြုဖို့ ထည့်သွင်းပေးထားတဲ့ parameter တွေကိုတော့ Query String လို့ခေါ်ပါတယ်။ 2018 ရဲ့ January လ တစ်လလုံး ပို့ထားတဲ့ email တွေကို ရယူဖို့အတွက် api ဖြစ်ပါတယ်။
နောက်ထပ်အနေနဲ့ API တွေကိုမှ call limit တွေ သတ်မှတ်လို့ရပါသေးတယ်။ တစ်နာရီအတွင်း API call ဘယ်လောက်ပဲ သုံးလို့ရမယ်ဆိုတာမျိုးပေါ့။ လက်ရှိ API service တွေက ဒီလိုပဲလုပ်ထားကြပါတယ်။
ဥပမာ – https://www.opendota.com/api-keys ဆိုရင် free tier မှာ call limit ကို 50000/month ပဲ ပေးထားပါတယ်။ ဒီထက်ပိုပြီး သုံးချင်ရင်တော့ ကိုယ်သုံးမဲ့ API call အလိုက် charges ကောက်ပါတယ်။ ဒါကတော့ သူ့စီးပွားရေးပေါ့။
RESTful API အပြင် oAuth တို့ SOAP တို့ရှိပါသေးတယ်။ SOAP ကတော့ အသုံးနည်းသွားပါပြီ။
oAuth ကိုတော့ နောက်တစ်ခုမှ ဆက်ရေးဖြစ်တော့မယ်။
API တွေကို စုစည်းပေးထားတဲ့ Website ရှိပါသေးတယ်။ Any API ဆိုတဲ့ site ပါ။
API တစ်ခုချင်းစီအတွက် အသုံးပြုနည်းတွေပါ ရေးပေးထားပါသေးတယ်။ Build API You Won’t Hate ဆိုတဲ့ စာအုပ်ကလည်း API ဆိုတာ ဘာလဲ နားလည်ချင်တဲ့သူတွေအတွက် အဆင်ပြေတဲ့စာအုပ်လေးပါ။
အဲ့စာအုပ်ကိုတော့ http://bit.ly/2zgfw3s မှာ တင်ပေးထားပါတယ်။
Credit : Zin Myo Ko
#jdbkx.com #Article #ဆောင်းပါး #APIဆိုတာဘာလဲ? #Online #Games #Myanmar #OnlineGamesMyanmar