API ဆိုတာ ဘာလဲ နှင့် အခြားအတိုကောက်များ- REST၊ SOAP၊ XML၊ JSON၊ WSDL
ဘရောက်ဆာကို သင်အသုံးပြုသောအခါ၊ သင့်ဘရောက်ဆာသည် သုံးစွဲသူ၏ဆာဗာထံမှ တောင်းဆိုမှုများပြုလုပ်ပြီး ဆာဗာသည် သင့်ဘရောက်ဆာမှ စုဝေးပြီး ဝဘ်စာမျက်နှာကို ပြသသည့်ဒေတာကို ပြန်လည်ပေးပို့ပါသည်။ ဒါပေမယ့် သင့်ဆာဗာ ဒါမှမဟုတ် ဝဘ်စာမျက်နှာကို တခြားဆာဗာနဲ့ စကားပြောစေချင်ရင်ကော။ ၎င်းသည် သင့်အား API တစ်ခုသို့ ပရိုဂရမ်ပြုလုပ်ရန် လိုအပ်မည်ဖြစ်သည်။
API ဆိုတာ ဘာအတွက်လဲ
API သည်အတိုကောက်ဖြစ်သည် လျှောက်လွှာ Programming Interface ကို (API ကို) API သည် ဝဘ်ကိုအသုံးပြု၍ မိုဘိုင်းအခြေပြုအက်ပ်လီကေးရှင်းများတည်ဆောက်ရန်အတွက် လုပ်ရိုးလုပ်စဉ်များ၊ ပရိုတိုကောများနှင့် ကိရိယာအစုံအလင်တစ်ခုဖြစ်သည်။ API သည် သင်မည်ကဲ့သို့ စစ်မှန်ကြောင်းအထောက်အထားပြနိုင်သည် (ချန်လှပ်ထားနိုင်သည်)၊ API ဆာဗာမှ ဒေတာကို တောင်းဆိုခြင်းနှင့် လက်ခံရယူခြင်းတို့ကို မည်ကဲ့သို့ သတ်မှတ်ပေးသည်။
တစ်ဦး API ကိုကဘာလဲ?
ဝဘ်ဖွံ့ဖြိုးတိုးတက်မှု၏အခြေအနေတွင်အသုံးပြုသောအခါ၊ API တစ်ခုသည် ပုံမှန်အားဖြင့် Hypertext Transfer Protocol ၏သတ်မှတ်ထားသောအစုတစ်ခုဖြစ်သည် (သည် HTTP) တုံ့ပြန်မှုမက်ဆေ့ချ်များ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်နှင့်အတူ မက်ဆေ့ဂျ်များကို တောင်းဆိုပါ။ ဝဘ် API များသည် ဝန်ဆောင်မှုများစွာကို mashups ဟုခေါ်သော အပလီကေးရှင်းအသစ်များသို့ ပေါင်းစပ်ခွင့်ပြုသည်။
ဝီကီပီးဒီးယား
ရိုးရှင်းသောဥပမာတစ်ခုပေးကြည့်ရအောင်။ ဖြန့်ဝေရန် လင့်အတိုချုံးကို အသုံးပြုပါက ရှည်လျားသည်။ URL ကို ပိုလွယ်တယ်၊ ကြိုက်တဲ့ ဝန်ဆောင်မှုကို သုံးနိုင်တယ်။ Bit.ly. သင်သည် URL အရှည်ကို ရိုက်ထည့်ကာ URL ကို တင်သွင်းပြီး Bit.ly သည် URL အတိုဖြင့် တုံ့ပြန်သည်။
သင်အသုံးပြုနေသော ပလပ်ဖောင်းတစ်ခု၏ နယ်ပယ်အတွင်း Bit.ly ကို အသုံးပြုလိုပါက အဘယ်နည်း။ သင်သည် QR ကုဒ်ထုတ်လုပ်သူအွန်လိုင်းတွင် တည်ဆောက်ထားသော်လည်း ရှည်လျားသော URL များကို ဦးစွာအတိုချုံးလိုသည်။ ဤကိစ္စတွင်၊ သင်သည် Bit.ly API သို့ တောင်းဆိုချက်ကို ပေးပို့ရန် သင့်ဆိုက်ကို အစီအစဉ်ဆွဲပြီး သင်၏ QR ကုဒ်ကို တည်ဆောက်ရန်အတွက် တုံ့ပြန်ချက်ကို ဖမ်းယူနိုင်သည်။
လုပ်ငန်းစဉ်သည် လူသားဝင်ရောက်စွက်ဖက်မှုမလိုအပ်ဘဲ API ဖြင့် အလိုအလျောက်လုပ်ဆောင်ပါသည်။ ဤသည်မှာ API များသည် အဖွဲ့အစည်းတိုင်းကို ပေးစွမ်းနိုင်သော အခွင့်အလမ်းဖြစ်သည်။ API များသည် ဒေတာများကို တပြိုင်တည်းလုပ်ဆောင်ခြင်း၊ တောင်းဆိုမှုများ လုပ်ဆောင်ခြင်းနှင့် အလိုအလျောက်လုပ်ဆောင်ခြင်း လုပ်ငန်းစဉ်များကို ပုံမှန်အားဖြင့် ကိုယ်တိုင်လုပ်ဆောင်ရာတွင် စနစ်များကို ကူညီပေးပါသည်။
အကယ်၍ ပလပ်ဖောင်းတစ်ခုတွင် ခိုင်မာသော API ပါရှိပါက၊ သင်သည် ပေါင်းစပ်ခြင်းနှင့် အလိုအလျောက်လုပ်ဆောင်နိုင်သည် - လက်စွဲအချိန်ကို ချွေတာနိုင်ခြင်း၊ သင့်ပလက်ဖောင်းများ၏ အချိန်နှင့်တစ်ပြေးညီ လုပ်ဆောင်နိုင်စွမ်းများကို မြှင့်တင်ပေးခြင်းနှင့် ပိုမိုကောင်းမွန်သောတိကျမှုကို သေချာစေခြင်း - လူကိုယ်တိုင်ဒေတာထည့်သွင်းခြင်းဆိုင်ရာ ပြဿနာများကို ရှောင်ရှားနိုင်သည်ဟု ဆိုလိုသည်။
APIs အလုပ်လုပ်ပုံ ဗီဒီယို
အကယ်၍ သင်သည် platform developer တစ်ယောက်ဖြစ်ပါက၊ APIs များသည် သင့်တွက်ချက်မှုနှင့် database queries များမှ သင့် user interface ကို ခွဲထုတ်ရန် အခွင့်အရေးပေးပါသည်။ အဲဒါ ဘာကြောင့် အရေးကြီးတာလဲ။ သင်၏အသုံးပြုသူအင်တာဖေ့စ်ကို သင်တည်ဆောက်သည့်အခါ၊ သင်သည် အခြားတတိယပါတီများအတွက် သင်ထုတ်ဝေသည့် အလားတူ API များကို အသုံးပြုနိုင်သည်။ back-end ပေါင်းစည်းမှုကို ချိုးဖောက်မည်ကို စိုးရိမ်စရာမလိုဘဲ သင်၏ user interface ကို ပြန်လည်ရေးသားနိုင်ပါသည်။
ရနိုင်သော APIs များကို မည်သို့ရှာရမည်နည်း။
သင်သည် သီးခြားထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုအတွက် API တစ်ခုကို ရှာဖွေနေပါသလား။ ဤသည်မှာ သင်ကိုယ်တိုင်နှင့် စီးပွားရေးအရ အသုံးပြုနိုင်သော API များကို စာရင်းပြုစုထားသော အရင်းအမြစ်အချို့ဖြစ်သည်-
APIs စမ်းသပ်နည်း
API သည် browser တစ်ခုကဲ့သို့ပင် HTTP တောင်းဆိုချက်တစ်ခုဖြစ်သည်။ ခြားနားချက်မှာ API တစ်ခုသည် တောင်းဆိုမှုပြုလုပ်ရန် အထောက်အထားစိစစ်ခြင်းနည်းလမ်းအချို့ လိုအပ်ပါသည်။ စစ်မှန်ကြောင်းအထောက်အထားမလိုအပ်ပါက၊ တောင်းဆိုချက် URL ကို browser တစ်ခုတွင် paste လုပ်ခြင်းဖြင့်ပင် တောင်းဆိုနိုင်သည်။ ဤသည်မှာ တောင်းဆိုမှုတစ်ခု၏ ဥပမာတစ်ခုဖြစ်သည်။ open-source weather API.
OSX ကို အသုံးပြု၍ သင်အသုံးပြုနိုင်ပါသည်။ ဆံပင်ကောက်ကောက် terminal window တွင် command ကို။ အမိန့်ကို အကောင်အထည်ဖော်တဲ့အခါ၊ cURL
ပေးထားသော API URL သို့ GET တောင်းဆိုမှုပြုလုပ်မည်ဖြစ်ပြီး၊ ရာသီဥတုခန့်မှန်းချက်ဒေတာပါရှိသော တုံ့ပြန်မှုကို Terminal တွင် ပြသမည်ဖြစ်သည်။
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m"
Windows တွင်သင်ထည့်သွင်းနိုင်သည်။ curl
၎င်းကို အမိန့်ပေးရန်အတွက် စနစ်၏ PATH တွင် ထည့်ပါ။ တနည်းအားဖြင့် သင်သည် Third-party ကိုသုံးနိုင်သည်။ curl
Windows အတွက် executables တွေဖြစ်တဲ့ Windows အတွက် cURL or Winamp မှ Windows အတွက် curl နှင့် curl command ကို အလားတူလုပ်ဆောင်ပါ။
ဤသည်မှာ နောက်ထပ်ဘာသာစကားအချို့နှင့် API တောင်းဆိုချက်ကို သင်ပြုလုပ်နိုင်ပုံဖြစ်သည်။
- စပါးအုံး - အဆိုပါ
requests
စာကြည့်တိုက်ကို Python တွင် HTTP တောင်းဆိုမှုများ ပြုလုပ်ရန်အတွက် အများအားဖြင့် အသုံးပြုသည်။ ဒါက ဥပမာတစ်ခုပါ။
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): အဆိုပါ
axios
စာကြည့်တိုက်သည် Node.js အတွက် အသုံးများသော HTTP client တစ်ခုဖြစ်သည်။ ဒါက ဥပမာတစ်ခုပါ။
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery- ထိုသုံးပါ
$.ajax
or$.get
HTTP တောင်းဆိုမှုများကို ပြုလုပ်ရန် လုပ်ဆောင်ချက်များ။ ဤသည်မှာ အသုံးပြု၍ GET တောင်းဆိုမှုပြုလုပ်ခြင်း၏ ဥပမာတစ်ခုဖြစ်သည်။$.ajax
jQuery တွင်
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- ပတ္တမြား: ပတ္တမြားရဲ့ စံပြစာကြည့်တိုက်လည်း ပါဝင်ပါတယ်။
net/http
HTTP တောင်းဆိုမှုများပြုလုပ်ရန်အတွက် module ဒါက ဥပမာတစ်ခုပါ။
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- ဂျာဗား: Java ကဲ့သို့သော HTTP တောင်းဆိုမှုများပြုလုပ်ရန်အတွက် အမျိုးမျိုးသော စာကြည့်တိုက်များနှင့် မူဘောင်များကို ပံ့ပိုးပေးပါသည်။
HttpURLConnection
(စံပြစာကြည့်တိုက်တွင်)၊ Apache HttpClient သို့မဟုတ် OkHttp။ ဤတွင်အသုံးပြုပုံဥပမာတစ်ခုHttpURLConnection
:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
}
}
- C# သို့မဟုတ် ASP.NET- ထိုသုံးပါ
HttpClient
HTTP တောင်းဆိုမှုများ ပြုလုပ်ရန် အတန်း။ ဤသည်မှာ အသုံးပြု၍ GET တောင်းဆိုမှုပြုလုပ်နည်း ဥပမာတစ်ခုဖြစ်သည်။HttpClient
C# တွင်-
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync("https://example.com");
response.EnsureSuccessStatusCode(); // Ensure a successful response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
လိုအပ်တာတွေကို ထည့်ဖို့ မမေ့ပါနဲ့။ using
ထုတ်ပြန်ချက်များနှင့် ခြွင်းချက်များကို သင့်လျော်သလို ကိုင်တွယ်ဖြေရှင်းပါ။ HttpClient
သင်၏ ASP.NET သို့မဟုတ် C# အပလီကေးရှင်းတွင်။
- WordPress ကို: WordPress API တွင်၎င်း၏ကိုယ်ပိုင်လုပ်ဆောင်ချက်များရှိသည်။
wp_remote_get
orwp_remote_post
:
$response = wp_remote_get('https://example.com');
if (is_wp_error($response)) {
$error_message = $response->get_error_message();
echo "Request failed: $error_message";
} else {
$body = wp_remote_retrieve_body($response);
$data = json_decode($body);
// Process the retrieved data
var_dump($data);
}
ဤဥပမာများသည် အခြေခံ GET တောင်းဆိုမှုကို မည်သို့လုပ်ဆောင်ရမည်ကို သရုပ်ပြသော်လည်း ဤစာကြည့်တိုက်များသည် ပုံမှန်အားဖြင့် မတူညီသော HTTP နည်းလမ်းများ (GET၊ POST စသည်ဖြင့်) ကို ပံ့ပိုးပေးပြီး ခေါင်းစီးများသတ်မှတ်ခြင်း၊ တောင်းဆိုချက်ပေးချေမှုများကို ပေးပို့ခြင်းနှင့် တုံ့ပြန်မှုများကို ပိုမိုအဆင့်မြင့်သည့်ပုံစံဖြင့် ကိုင်တွယ်ခြင်းတို့အတွက် ရွေးချယ်မှုများပေးပါသည်။
ကုဒ်နမူနာများကို မလုပ်ဆောင်မီ သင့်ပရိုဂရမ်းမင်းဘာသာစကားအတွက် လိုအပ်သော မှီခိုမှု သို့မဟုတ် စာကြည့်တိုက်များကို ထည့်သွင်းရန် မမေ့ပါနှင့်။
Talend တွင် ကုဒ်မျဉ်းမရေးဘဲ APIs များကို စမ်းသပ်လိုပါက APIs များနှင့် အပြန်အလှန်တုံ့ပြန်ရန်အတွက် ကောင်းမွန်သော Chrome အပလီကေးရှင်းတစ်ခုရှိသည်။
Chrome သို့ Talend ၏ API Tester ကိုထည့်ပါ။
Acronym SDK သည်ဘာကိုဆိုလိုသနည်း။
SDK သည်အတိုကောက်ဖြစ်သည် Software Developer Kit ပါ.
ကုမ္ပဏီတစ်ခုသည် ၎င်း၏ API ကို ထုတ်ဝေသောအခါတွင် API အစစ်အမှန်ကို မည်သို့စစ်မှန်ကြောင်းပြသနည်း၊ ၎င်းကိုမေးမြန်းနိုင်ပုံနှင့် သင့်လျော်သောတုံ့ပြန်မှုများကို ပြသသည့် ပူးတွဲပါစာရွက်စာတမ်းများရှိပါသည်။ ဆော့ဖ်ဝဲလ်ဆော့ဖ်ဝဲများ စတင်ရန် ကူညီပေးရန်အတွက် ကုမ္ပဏီများသည် Software Developer Kit ကို မကြာခဏ ထုတ်ဝေလေ့ရှိသည် (
SDK ကို) developer ရေးသော ပရောဂျက်များတွင် class တစ်ခု သို့မဟုတ် လိုအပ်သော လုပ်ဆောင်ချက်များကို အလွယ်တကူ ထည့်သွင်းရန်။Acronym XML ဆိုသည်မှာအဘယ်နည်း။
XML သည်အတိုကောက်ဖြစ်သည် eXtensible Markup ဘာသာစကား. XML ကို ဒေတာကို လူသားဖတ်နိုင်သော ဖော်မတ်နှင့် စက်ဖြင့်ဖတ်နိုင်သော ဖော်မတ်တစ်ခုအဖြစ် ဒေတာကိုကုဒ်လုပ်ရန် အသုံးပြုသော markup ဘာသာစကားတစ်ခုဖြစ်သည်။
ဒီမှာ XML ဘယ်လိုပေါ်လာသလဲဆိုတာဥပမာပေးပါ။
<?xml version ="1.0"?> <ထင်ပါရဲ့ id ="1"> ထုတ်ကုန် A ပထမထုတ်ကုန် ၅.၀၀ အသီးအသီး
အတိုကောက် JSON ဘာကိုဆိုလိုသလဲ
JSON သည်အတိုကောက်ဖြစ်သည် JavaScript အရာဝတ္ထုသင်္ကေတ. JSON API တစ်ခုမှ တစ်ဆင့် အပြန်ပြန်အလှန်လှန် ပေးပို့သော data များကို တည်ဆောက်ရန် ဖော်မတ်တစ်ခုဖြစ်သည်။ JSON သည် XML အတွက် အခြားရွေးချယ်စရာတစ်ခုဖြစ်သည်။ REST API များသည် ရည်ညွှန်းချက်-တန်ဖိုးအတွဲများပါဝင်သော ဒေတာအရာဝတ္တုများကို ပေးပို့ရန် လူသားဖတ်နိုင်သော စာသားကို အသုံးပြုသည့် အဖွင့်စံဖော်မတ်တစ်ခုဖြစ်သည်။
JSON ကို အသုံးပြု၍ အထက်ပါအချက်အလက်များ၏နမူနာတစ်ခုဖြစ်သည်။
{ "အိုင်ဒီ": 1, "ခေါင်းစဉ်": "ထုတ်ကုန် A", "ဖော်ပြချက်": "ပထမဆုံးထုတ်ကုန်", "စျေးနှုန်း": { "ပမာဏ": "5.00", "နှုန်း": "တစ်ခုချင်းစီ" } }
အတိုကောက် REST သည်ဘာကိုဆိုလိုသနည်း။
REST သည် အတိုကောက်ဖြစ်သည်။ ကိုယ်စားပြုပြည်နယ်လွှဲပြောင်း ဖြန့်ဝေထားသော ဟိုက်ပါမီဒီယာစနစ်များအတွက် ဗိသုကာပုံစံ။
Whew ... အသက်ပြင်းပြင်းရှူ! သငျသညျတစ်ခုလုံးကိုဖတ်ရှုနိုင်သည် ဒီမှာစာတမ်းတစ်စောင်တင်သွင်း, ဗိသုကာပုံစံများနှင့်ကွန်ယက် -based ဆော့ဝဲဗိသုကာများ၏ဒီဇိုင်းကိုခေါ်သတင်းအချက်အလက်နှင့်ကွန်ပျူတာသိပ္ပံအတွက်အတွေးအခေါ်ပညာရှင်ဘွဲ့အတွက်လိုအပ်ချက်များကိုတစ်စိတ်တစ်ပိုင်းကျေနပ်မှုအတွက်တင်သွင်း ရွိုင်းသောမတ်စ် Fielding.
ကျေးဇူးတင်ပါတယ် ဒေါက်တာ Fielding။
Acronym SOAP ဆိုသည်မှာအဘယ်နည်း။
SOAP များအတွက်အတိုကောက်ဖြစ်ပါတယ် ရိုးရှင်းသောအရာဝတ္ထု Access ကို protocol ကို
ကျွန်တော်က ပရိုဂရမ်မာတစ်ယောက်မဟုတ်ပါဘူး၊ ဒါပေမယ့် ကျွန်တော့်အမြင်အရတော့ SOAP ကို နှစ်သက်တဲ့ developer တွေက ကုဒ်ကိုဖတ်တဲ့ standard programming interface မှာ ကုဒ်တွေကို အလွယ်တကူ ဖန်တီးနိုင်လို့ပါပဲ။ ဝဘ်ဝန်ဆောင်မှု အဓိပ္ပါယ်ဖွင့်ဆိုချက် ဘာသာစကား (wsdl) ဖိုင်။ ၎င်းတို့သည် တုံ့ပြန်မှုကို ခွဲခြမ်းစိတ်ဖြာရန် မလိုအပ်ပါ၊ WSDL ကို အသုံးပြုပြီး ပြီးသွားပါပြီ။ SOAP သည် မက်ဆေ့ချ်ဖွဲ့စည်းပုံနှင့် ၎င်းကို စီမံဆောင်ရွက်ပုံတို့ကို သတ်မှတ်ပေးသည့် ပရိုဂရမ်မာစာအိတ်တစ်ခု လိုအပ်သည်၊ ၎င်းကို အက်ပလီကေးရှင်းမှသတ်မှတ်ထားသော ဒေတာအမျိုးအစားများကို ဖော်ပြရန်အတွက် ကုဒ်နံပါတ်စည်းမျဉ်းများနှင့် လုပ်ထုံးလုပ်နည်းခေါ်ဆိုမှုများနှင့် တုံ့ပြန်မှုများကို ကိုယ်စားပြုသည့် ကွန်ဗင်းရှင်းတစ်ခု လိုအပ်ပါသည်။