Unsa ang usa ka API? Ug Ubang Acronym: REST, SOAP, XML, JSON, WSDL
Kung mogamit ka og browser, ang imong browser mohimo og mga hangyo gikan sa server sa kliyente, ug ang server mopadala og balik sa data nga gi-assemble sa imong browser ug gipakita ang usa ka web page. Apan unsa man kung gusto nimo ang imong server o web page nga makigsulti sa laing server? Nagkinahanglan kini kanimo nga magprograma sa usa ka API.
Unsa ang gipasabut sa API?
Ang API usa ka acronym alang sa Interface sa Programming Application (API). Ang API usa ka hugpong sa mga rutina, protocol, ug mga himan alang sa paghimo sa web-enabled ug mobile-based nga mga aplikasyon. Gipiho sa API kung giunsa nimo mapamatud-an (opsyonal), mangayo ug makadawat mga datos gikan sa server sa API.
Unsa ang API?
Kung gigamit sa konteksto sa pagpalambo sa web, ang usa ka API kasagaran usa ka gihubit nga hugpong sa Hypertext Transfer Protocol (http) paghangyo og mga mensahe, uban sa kahulugan sa istruktura sa mga mensahe sa pagtubag. Gitugotan sa mga Web API ang kombinasyon sa daghang serbisyo sa mga bag-ong aplikasyon nga nailhan nga mga mashup.
Wikipedia
Maghatag kita og usa ka yano nga pananglitan. Kung mogamit ka usa ka link shortener sa pag-apod-apod sa usa ka taas URL mas sayon, mahimo nimong gamiton ang usa ka serbisyo sama Bit.ly. Imong gi-type ang taas nga URL, isumite ang URL, ug ang Bit.ly motubag sa mubo nga URL.
Unsa kaha kung gusto nimo gamiton ang Bit.ly sa sulud sa usa ka plataporma nga imong gigamit? Tingali nakahimo ka og QR code maker online apan gusto nimo nga mub-on una ang taas nga mga URL. Sa kini nga kaso, mahimo nimong iprograma ang imong site aron ipadala ang hangyo sa Bit.ly API ug dayon makuha ang tubag aron matukod ang imong QR code.
Ang proseso automated sa usa ka API diin walay tawhanong interbensyon ang gikinahanglan. Kini ang oportunidad nga gihatag sa mga API sa matag organisasyon. Ang mga API nagtabang sa mga sistema sa pag-synchronize sa datos, pagproseso sa mga hangyo, ug pag-automate sa mga proseso nga kasagarang gihimo sa mano-mano.
Kung ang usa ka plataporma adunay lig-on nga API, kini nagpasabut nga mahimo nimong i-integrate ug awtomatiko - makatipig sa oras sa manual, pagpaayo sa mga kapabilidad sa tinuud nga oras sa imong mga platform, ug pagsiguro nga gipaayo ang katukma - paglikay sa mga isyu sa manual nga pagsulod sa datos.
Usa ka Video Kung Giunsa Pagtrabaho ang mga API
Kung ikaw usa ka platform developer, ang mga API nagtanyag usab ug higayon nga ibulag ang imong user interface gikan sa imong pagkuwenta ug mga pangutana sa database. Nganong importante kana? Samtang imong gipalambo ang imong user interface, mahimo nimong gamiton ang parehas nga mga API nga imong gipatik para sa ubang mga ikatulo nga partido. Mahimo nimong isulat pag-usab ang imong user interface nga dili mabalaka mahitungod sa paglapas sa back-end integration.
Unsaon Pagpangitag Magamit nga mga API
Nangita ka ba og API alang sa usa ka piho nga produkto o serbisyo? Ania ang pipila ka mga kapanguhaan nga naglista sa mga API nga mahimo nimong gamiton sa personal ug komersyal:
Giunsa Pagsulay ang mga API
Ang API kay usa lang ka HTTP request, sama sa browser. Ang pagkalainlain mao nga ang usa ka API kanunay nanginahanglan pipila nga pamaagi sa pag-authenticate aron mahimo ang hangyo. Kung wala’y kinahanglan nga panghimatuud, mahimo ka makahangyo pinaagi sa pag-paste sa URL sa hangyo sa usa ka browser. Ania ang usa ka pananglitan sa usa ka hangyo sa usa ka open-source nga weather API.
Gamit ang OSX, mahimo nimong gamiton ang curl command sa usa ka terminal nga bintana. Sa pagpatuman sa mando, cURL
mohimo ug GET hangyo sa gihatag nga API URL, ug ang tubag nga naglangkob sa weather forecast data ipakita sa 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"
Sa Windows, mahimo nimong i-install curl
ug idugang kini sa PATH sa sistema para magtrabaho ang command. Sa laing bahin, mahimo nimong gamiton ang ikatulo nga partido curl
mga executable alang sa Windows, sama sa cURL alang sa Windows or curl alang sa Windows pinaagi sa Winamp ug ipadagan ang curl command parehas.
Ania ang pipila ka dugang nga mga lengguwahe ug kung giunsa nimo paghimo usa ka hangyo sa API:
- python: ang
requests
Ang librarya kasagarang gigamit alang sa paghimo sa mga hangyo sa HTTP sa Python. Ania ang usa ka pananglitan:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): ang
axios
ang library kay kaylap nga gigamit nga HTTP client para sa Node.js. Ania ang usa ka pananglitan:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery: Gamita ang
$.ajax
or$.get
mga gimbuhaton sa paghimo sa mga hangyo sa HTTP. Ania ang usa ka pananglitan sa paghimo sa usa ka GET nga hangyo gamit$.ajax
sa jQuery:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- Ruby: Ang standard library ni Ruby naglakip sa
net/http
module alang sa paghimo sa mga hangyo sa HTTP. Ania ang usa ka pananglitan:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- Java: Naghatag ang Java og lain-laing mga librarya ug mga frameworks alang sa paghimo sa mga hangyo sa HTTP, sama sa
HttpURLConnection
(sa standard library), Apache HttpClient, o OkHttp. Ania ang usa ka pananglitan sa paggamitHttpURLConnection
:
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# o ASP.NET: Gamita ang
HttpClient
klase sa paghimo sa mga hangyo sa HTTP. Ania ang usa ka pananglitan kung giunsa paghimo ang usa ka GET nga hangyo gamitHttpClient
sa 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);
}
}
}
Hinumdomi nga idugang ang gikinahanglan using
mga pahayag ug pagdumala sa mga eksepsiyon sa tukmang paagi sa pagtrabaho uban sa HttpClient
sa imong ASP.NET o C# nga aplikasyon.
- sa Sun.Star: Ang WordPress API adunay kaugalingon nga mga gimbuhaton
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);
}
Kini nga mga pananglitan nagpakita kung giunsa paghimo ang usa ka sukaranan nga hangyo sa GET, apan kini nga mga librarya kasagarang nagsuporta sa lainlaing mga pamaagi sa HTTP (GET, POST, ug uban pa) ug naghatag mga kapilian sa pag-set sa mga header, pagpadala sa mga payload sa hangyo, ug pagdumala sa mga tubag sa mas advanced nga paagi.
Hinumdumi nga i-install ang bisan unsang gikinahanglan nga mga dependency o librarya alang sa imong programming language sa dili pa ipadagan ang mga pananglitan sa code.
Ang Talend adunay usa ka maayo nga Aplikasyon sa Chrome alang sa pakigsulti sa mga API ug makita ang ilang mga tubag kung gusto nimo sulayan ang mga API nga wala nagsulat usa ka linya sa code.
Idugang ang Talend's API Tester sa Chrome
Unsa man ang baruganan sa Acronym SDK?
Ang SDK usa ka dagway sa Software Developer Kit.
Kung gipatik sa usa ka kompanya ang API niini, kasagaran adunay kauban nga dokumentasyon nga nagpakita kung giunsa ang pag-authenticate sa API, kung giunsa kini mapangutana, ug ang angay nga mga tubag. Aron matabangan ang mga developer nga makasugod, ang mga kompanya kanunay nga nagpatik sa usa ka Software Developer Kit (
SDK) aron dali nga maapil ang usa ka klase o ang kinahanglan nga mga gimbuhaton sa mga proyekto nga gisulat sa developer.Unsa man ang baruganan sa Acronym XML?
Ang XML usa ka dagway sa eXtensible Markup nga Sinultian. XML mao ang usa ka markup nga pinulongan nga gigamit sa pag-encode sa datos sa usa ka format nga mabasa sa tawo ug mabasa sa makina.
Ania ang usa ka pananglitan kung giunsa magpakita ang XML:
<?xml bersyon ="1.0"?> <produkto id ="1"> Produkto A Ang una nga produkto 5.00 ang matag
Unsa man ang gibarugan sa Acronym JSON?
Ang JSON usa ka acronym alang sa JavaScript Object Notation. JSON mao ang usa ka format alang sa structuring data nga gipadala balik-balik pinaagi sa usa ka API. Ang JSON usa ka alternatibo sa XML. Ang mga REST API mas kasagarang motubag sa JSON - usa ka bukas nga standard nga format nga naggamit sa teksto nga mabasa sa tawo aron ipadala ang mga butang sa datos nga gilangkuban sa mga paresan sa attribute-value.
Ania ang usa ka pananglitan sa datos sa taas gamit ang JSON:
{ "id": 1, "Ulohan": "Produkto A", "paghulagway": "Ang una nga produkto", "presyo": { "kantidad": "5.00", "matag": "matag usa" } }
Unsa man ang baruganan sa Acronym REST?
PAHULAY maoy acronym sa Representasyon sa Pagbalhin sa Estado estilo sa arkitektura alang sa gipang-apod-apod nga mga sistema sa hypermedia.
Whew… lawom nga ginhawa! Mahimo nimong mabasa ang tibuuk disertasyon dinhi, gitawag nga Architectural Styles ug ang Disenyo sa Network-based Software Architectures nga gisumite sa bahag nga katagbawan sa mga kinahanglanon alang sa degree sa DOCTOR OF PHILOSOPHY sa Impormasyon ug Computer Science sa Roy Thomas Fielding.
Salamat, Dr. Fielding!
Unsa man ang baruganan sa Acronym SOAP?
sabon usa ka akronon alang sa Yano nga protocol sa Access sa Access
Dili ako usa ka programmer, apan sa akong opinyon, ang mga developers nga nahigugma sa SOAP nagbuhat sa ingon tungod kay sila dali nga makahimo og code sa usa ka standard nga interface sa programming nga mabasa ang Pinulongan nga Kahulugan sa Serbisyo sa Web (wsdl) file. Dili nila kinahanglan nga i-parse ang tubag, nahimo na kini gamit ang WSDL. Ang SOAP nanginahanglan usa ka programmatic nga sobre, nga naghubit sa istruktura sa mensahe ug kung giunsa kini pagproseso, usa ka hugpong sa mga lagda sa pag-encode alang sa pagpahayag sa mga higayon sa mga tipo sa datos nga gitakda sa aplikasyon, ug usa ka kombensyon alang sa pagrepresentar sa mga tawag sa pamaagi ug mga tubag.