API යනු කුමක්ද? සහ අනෙකුත් කෙටි යෙදුම්: REST, SOAP, XML, JSON, WSDL
ඔබ බ්රවුසරයක් භාවිතා කරන විට, ඔබේ බ්රවුසරය සේවාලාභියාගේ සේවාදායකයෙන් ඉල්ලීම් කරයි, සහ සේවාදායකය ඔබේ බ්රවුසරය එකලස් කර වෙබ් පිටුවක් පෙන්වන දත්ත ආපසු යවයි. නමුත් ඔබට ඔබේ සේවාදායකය හෝ වෙබ් පිටුව වෙනත් සේවාදායකයකට කතා කිරීමට අවශ්ය නම් කුමක් කළ යුතුද? මෙය ඔබට API එකකට වැඩසටහන් කිරීමට අවශ්ය වනු ඇත.
API යන්නෙන් අදහස් කරන්නේ කුමක්ද?
API යනු සංක්ෂිප්තයකි යෙදුම් ක්රමලේඛ අතුරුමුහුණත (API) API යනු වෙබ් සක්රීය සහ ජංගම-පාදක යෙදුම් තැනීම සඳහා දිනචරියාවන්, ප්රොටෝකෝල සහ මෙවලම් සමූහයකි. API ඔබට API සේවාදායකයෙන් සත්යාපනය කළ හැකි ආකාරය (විකල්ප), ඉල්ලීම සහ දත්ත ලබා ගත හැකි ආකාරය සඳහන් කරයි.
API යනු කුමක්ද?
වෙබ් සංවර්ධන සන්දර්භය තුළ භාවිතා කරන විට, API යනු සාමාන්යයෙන් අධිපෙළ මාරු කිරීමේ ප්රොටෝකෝලයේ නිර්වචනය කරන ලද කට්ටලයකි (HTTP) ඉල්ලීම් පණිවිඩ, ප්රතිචාර පණිවිඩවල ව්යුහය පිළිබඳ අර්ථ දැක්වීමක් සමඟ. Web API මඟින් Mashup ලෙස හැඳින්වෙන නව යෙදුම්වලට බහු සේවා ඒකාබද්ධ කිරීමට ඉඩ ලබා දේ.
විකිපීඩියා
අපි සරල උදාහරණයක් දෙමු. ඔබ දිගු බෙදා හැරීමට සබැඳි කෙටි කරන්නෙකු භාවිතා කරන්නේ නම් URL එක වඩා පහසුයි, ඔබට වැනි සේවාවක් භාවිතා කළ හැක බිට්. ඔබ දිගු URL එක ටයිප් කර, URL එක ඉදිරිපත් කරන්න, සහ Bit.ly කෙටි URL සමඟ ප්රතිචාර දක්වයි.
ඔබ භාවිතා කරන වේදිකාවක විෂය පථය තුළ Bit.ly භාවිතා කිරීමට ඔබට අවශ්ය නම් කුමක් කළ යුතුද? සමහර විට ඔබ අන්තර්ජාලය හරහා QR කේත සාදන්නෙකු ගොඩනගා ඇති නමුත් පළමුව දිගු URL කෙටි කිරීමට අවශ්ය වේ. මෙම අවස්ථාවේදී, ඔබට ඉල්ලීම Bit.ly API වෙත යැවීමට ඔබේ වෙබ් අඩවිය වැඩසටහන්ගත කළ හැකි අතර පසුව ඔබේ QR කේතය ගොඩනැගීමට ප්රතිචාරය ග්රහණය කර ගත හැක.
මිනිස් මැදිහත්වීමක් අවශ්ය නොවන API සමඟ ක්රියාවලිය ස්වයංක්රීය වේ. API සෑම ආයතනයකටම සපයන අවස්ථාව මෙයයි. දත්ත සමමුහුර්ත කිරීමට, ඉල්ලීම් සැකසීමට සහ සාමාන්යයෙන් අතින් සිදුකරන ක්රියාවලීන් ස්වයංක්රීය කිරීමට API පද්ධතිවලට සහාය වේ.
වේදිකාවකට ශක්තිමත් API තිබේ නම්, එයින් අදහස් වන්නේ ඔබට ඒකාබද්ධ කිරීමට සහ ස්වයංක්රීය කිරීමට හැකි බවයි - අතින් කාලය ඉතිරි කිරීම, ඔබේ වේදිකාවල තත්ය කාලීන හැකියාවන් වැඩිදියුණු කිරීම සහ වැඩිදියුණු කළ නිරවද්යතාවය සහතික කිරීම - අතින් දත්ත ඇතුළත් කිරීමේ ගැටළු මඟහරවා ගැනීම.
API ක්රියා කරන ආකාරය පිළිබඳ වීඩියෝවක්
ඔබ වේදිකා සංවර්ධකයෙක් නම්, API මඟින් ඔබේ පරිශීලක අතුරුමුහුණත ඔබේ ගණනය කිරීම් සහ දත්ත සමුදා විමසුම් වලින් වෙන් කිරීමට ද අවස්ථාව ලබා දේ. එය වැදගත් වන්නේ ඇයි? ඔබ ඔබේ පරිශීලක අතුරුමුහුණත සංවර්ධනය කරන විට, ඔබට වෙනත් තෙවන පාර්ශවයන් සඳහා ඔබ ප්රකාශනය කරන එකම API භාවිතා කළ හැක. පසු අන්ත අනුකලනය බිඳ දැමීම ගැන කරදර නොවී ඔබට ඔබගේ පරිශීලක අතුරුමුහුණත නැවත ලිවිය හැක.
පවතින API සොයා ගන්නේ කෙසේද
ඔබ නිශ්චිත නිෂ්පාදනයක් හෝ සේවාවක් සඳහා API එකක් සොයන්නේද? ඔබට පුද්ගලිකව සහ වාණිජමය වශයෙන් භාවිතා කළ හැකි API ලැයිස්තුගත කරන සම්පත් කිහිපයක් මෙන්න:
API පරීක්ෂා කරන්නේ කෙසේද
API යනු බ්රවුසරයක් වැනි සරලවම HTTP ඉල්ලීමකි. වෙනස වන්නේ API එකකට ඉල්ලීමක් කිරීමට බොහෝ විට යම් සත්යාපන ක්රමයක් අවශ්ය වීමයි. සත්යාපනයක් අවශ්ය නොවේ නම්, බ්රවුසරයක ඉල්ලීම් URL එක ඇලවීමෙන් පවා ඔබට ඉල්ලීමක් කළ හැක. කෙනෙකුට ඉල්ලීමක උදාහරණයක් මෙන්න විවෘත මූලාශ්ර කාලගුණ API.
OSX භාවිතා කරමින්, ඔබට භාවිතා කළ හැකිය කර්ල් ටර්මිනල් කවුළුවක විධානය. විධානය ක්රියාත්මක කිරීමෙන් පසු, cURL
සපයා ඇති API URL වෙත GET ඉල්ලීමක් කරනු ඇති අතර, කාලගුණ අනාවැකි දත්ත අඩංගු ප්රතිචාරය ටර්මිනලයේ පෙන්වනු ඇත.
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m"
වින්ඩෝස් මත, ඔබට ස්ථාපනය කළ හැකිය curl
විධානය ක්රියා කිරීම සඳහා එය පද්ධතියේ PATH වෙත එක් කරන්න. විකල්පයක් ලෙස, ඔබට තෙවන පාර්ශවයක් භාවිතා කළ හැකිය curl
Windows සඳහා executables, වැනි Windows සඳහා curl or Winamp මගින් Windows සඳහා curl සහ curl විධානය එලෙසම ක්රියාත්මක කරන්න.
මෙන්න අමතර භාෂා කිහිපයක් සහ ඔබට API ඉල්ලීමක් කළ හැකි ආකාරය:
- පයිතන්: එම
requests
Python හි HTTP ඉල්ලීම් කිරීමට පුස්තකාලය බහුලව භාවිතා වේ. මෙන්න උදාහරණයක්:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): එම
axios
පුස්තකාලය යනු Node.js සඳහා බහුලව භාවිතා වන HTTP සේවාදායකයෙකි. මෙන්න උදාහරණයක්:
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 ඉල්ලීම් කිරීමට මොඩියුලය. මෙන්න උදාහරණයක්:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- ජාවා: ජාවා 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# යෙදුම තුළ.
- වර්ඩ්ප්රෙස්: වර්ඩ්ප්රෙස් 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 සතුව API සමඟ අන්තර්ක්රියා කිරීමට සහ ඔබ කේත පේළියක් ලිවීමෙන් තොරව API පරීක්ෂා කිරීමට කැමති නම් ඔවුන්ගේ ප්රතිචාර දැකීමට විශිෂ්ට Chrome යෙදුමක් ඇත.
Chrome වෙත Talend's API පරීක්ෂකය එක් කරන්න
SDK යන අක්ෂරයෙන් අදහස් කරන්නේ කුමක්ද?
SDK යනු සංක්ෂිප්තයකි මෘදුකාංග සංවර්ධක කට්ටලය.
සමාගමක් එහි API ප්රකාශනය කරන විට, API සත්යාපනය කරන ආකාරය, එය විමසිය හැකි ආකාරය සහ සුදුසු ප්රතිචාර පෙන්වන ලේඛන සමඟ සාමාන්යයෙන් ඇත. සංවර්ධකයින්ට මුලික ආරම්භයක් ලබා ගැනීමට උපකාර කිරීම සඳහා, සමාගම් බොහෝ විට මෘදුකාංග සංවර්ධක කට්ටලයක් ප්රකාශයට පත් කරයි (
SDKs) සංවර්ධකයා ලියන ව්යාපෘතිවලට පන්තියක් හෝ අවශ්ය කාර්යයන් පහසුවෙන් ඇතුළත් කිරීමට.එක්ස්එම්එල් යන අක්ෂරයෙන් අදහස් කරන්නේ කුමක්ද?
XML යනු සංක්ෂිප්තයකි විස්තාරණ සලකුණු භාෂාව. XML මිනිසාට කියවිය හැකි සහ යන්ත්රයෙන් කියවිය හැකි ආකෘතියකින් දත්ත සංකේතනය කිරීමට භාවිතා කරන සලකුණු භාෂාවකි.
XML දර්ශණය වන ආකාරය පිළිබඳ උදාහරණයක් මෙන්න:
<?xml version ="1.0"?> <නිෂ්පාදනය id ="1"> නිෂ්පාදන A. පළමු නිෂ්පාදනය 5.00 සෑම
JSON යන අක්ෂරයෙන් අදහස් කරන්නේ කුමක්ද?
JSON යනු සංක්ෂිප්තයකි ජාවාස්ක්රිප්ට් වස්තු අංකනය. JSON API හරහා එහාට මෙහාට යවන දත්ත ව්යුහගත කිරීමේ ආකෘතියකි. JSON යනු XML සඳහා විකල්පයකි. REST API වඩාත් පොදුවේ JSON සමඟ ප්රතිචාර දක්වයි - ගුණාංග-අගය යුගල වලින් සමන්විත දත්ත වස්තු සම්ප්රේෂණය කිරීමට මිනිසුන්ට කියවිය හැකි පෙළ භාවිතා කරන විවෘත සම්මත ආකෘතියකි.
JSON භාවිතා කරමින් ඉහත දත්ත සඳහා උදාහරණයක් මෙන්න:
{ "id": 1, "මාතෘකාව": "නිෂ්පාදන A", "විස්තර": "පළමු නිෂ්පාදනය", "මිල": { "ප්රමාණය": "5.00", "එක්": "සෑම" } }
REST යන අක්ෂරයෙන් අදහස් කරන්නේ කුමක්ද?
රෙස්ට් යන්නෙහි කෙටි යෙදුමකි නියෝජිත රාජ්ය මාරුව බෙදා හරින ලද අධිමාධ්ය පද්ධති සඳහා වාස්තුවිද්යාත්මක විලාසය.
ගැඹුරු හුස්ම! ඔබට සම්පූර්ණ කියවිය හැකිය නිබන්ධනය මෙහිතොරතුරු හා පරිගණක විද්යාව පිළිබඳ ආචාර්ය උපාධිය සඳහා වන අවශ්යතාවයන් අර්ධ වශයෙන් තෘප්තිමත් කරමින් ඉදිරිපත් කරන ලද වාස්තු විද්යාත්මක ශෛලීන් සහ ජාල පාදක මෘදුකාංග ගෘහ නිර්මාණ ශිල්පය සැලසුම් කිරීම. රෝයි තෝමස් ෆීල්ඩින්.
ස්තූතියි, ආචාර්ය ෆීල්ඩින්!
SOAP යන අක්ෂරයෙන් අදහස් කරන්නේ කුමක්ද?
SOAP සඳහා සංක්ෂිප්තයකි සරල වස්තු ප්රවේශ ප්රොටෝකෝලය
මම ක්රමලේඛකයෙකු නොවෙමි, නමුත් මගේ මතය අනුව, SOAP වලට ආදරය කරන සංවර්ධකයින් එසේ කරන්නේ ඔවුන්ට පහසුවෙන් කියවන සම්මත ක්රමලේඛන අතුරුමුහුණතක කේතයක් සංවර්ධනය කළ හැකි බැවිනි. වෙබ් සේවා අර්ථ දැක්වීමේ භාෂාව (ඩබ්ලිව්එස්ඩීඑල්) ගොනුව. ඔවුන්ට ප්රතිචාරය විග්රහ කිරීමට අවශ්ය නැත, එය දැනටමත් WSDL භාවිතයෙන් සිදු කර ඇත. SOAP හට පණිවිඩ ව්යුහය සහ එය සකසන ආකාරය නිර්වචනය කරන ක්රමලේඛන ලියුම් කවරයක්, යෙදුම් නිර්වචනය කරන ලද දත්ත වර්ගවල අවස්ථා ප්රකාශ කිරීම සඳහා කේතන නීති මාලාවක් සහ ක්රියා පටිපාටි ඇමතුම් සහ ප්රතිචාර දැක්වීම සඳහා සම්මුතියක් අවශ්ය වේ.