Iyini I-API? Futhi Amanye Ama-Acronyms: REST, SOAP, XML, JSON, WSDL
Uma usebenzisa isiphequluli, isiphequluli sakho senza izicelo kwiseva yeklayenti, futhi iseva ithumela idatha isiphequluli sakho esiyihlanganisayo futhi sibonisa ngayo ikhasi lewebhu. Kodwa kuthiwani uma ubufuna iseva yakho noma ikhasi lewebhu ukuthi likhulume nenye iseva? Lokhu kuzodinga ukuthi uhlele i-API.
Imele ini i-API?
I-API isichazamazwi se- UHlelo Lobhalomfihlo (API). I-API isethi yezinqubo, izivumelwano, namathuluzi wokwakha okunikwe amandla iwebhu kanye nezinhlelo zokusebenza ezisekelwe kumakhalekhukhwini. I-API icacisa ukuthi ungaqinisekisa kanjani (ongakukhetha), ucele futhi wamukele idatha kusuka kuseva ye-API.
Iyini i-API?
Uma isetshenziswa kumongo wokuthuthukiswa kwewebhu, i-API imvamisa iyisethi echaziwe ye-Hypertext Transfer Protocol (HTTP) cela imiyalezo, kanye nencazelo yesakhiwo semiyalezo yokuphendula. Ama-Web API avumela inhlanganisela yezinsizakalo eziningi zibe izinhlelo zokusebenza ezintsha ezaziwa ngokuthi ama-mashups.
Wikipedia
Ake sinikeze isibonelo esilula. Uma usebenzisa isifinyezi sesixhumanisi ukuze usabalalise isikhathi eside I-URL lula kangcono, ungasebenzisa isevisi efana I-Bit.ly. Uthayipha i-URL ende, uhambise i-URL, bese i-Bit.ly iphendula nge-URL emfushane.
Kuthiwani uma ubufuna ukusebenzisa i-Bit.ly ngaphakathi kwenkundla oyisebenzisayo? Mhlawumbe wakhe umenzi wekhodi ye-QR ku-inthanethi kodwa ufuna ama-URL amade abe mfushane kuqala. Kulesi simo, ungahlela isayithi lakho ukuthi lithumele isicelo ku-Bit.ly API bese uthwebula impendulo ukuze wakhe ikhodi yakho ye-QR.
Inqubo izenzakalela nge-API lapho kungekho khona ukungenelela komuntu okudingekayo. Leli yithuba ama-API alinikeza yonke inhlangano. Ama-API asiza amasistimu ekuvumelaniseni idatha, ukucubungula izicelo, nezinqubo zokuzenzakalela ngokuvamile ezenziwa mathupha.
Uma inkundla ine-API eqinile, kusho ukuthi ningakwazi kokubili ukuhlanganisa nokwenza ngokuzenzakalelayo - ukonga isikhathi okwenziwa ngesandla, ukuthuthukisa amakhono esikhathi sangempela ezinkundla zakho, kanye nokuqinisekisa ukunemba okuthuthukisiwe - ukugwema izinkinga ngokufaka idatha mathupha.
Ividiyo Yendlela Ama-API Asebenza Ngayo
Uma ungunjiniyela weplathifomu, ama-API aphinde anikeze ithuba lokuhlukanisa ukusebenzelana kwakho nomsebenzisi kusuka kumibuzo yakho yokubala kanye nesizindalwazi. Kungani lokho kubalulekile? Njengoba uthuthukisa ukusebenzelana kwakho komsebenzisi, ungasebenzisa ama-API afanayo owashicilela abanye abantu bangaphandle. Ungabhala kabusha ukusebenzelana kwakho komsebenzisi ngaphandle kokukhathazeka ngokuphula ukuhlanganiswa kwe-back-end.
Ungawathola Kanjani Ama-API Atholakalayo
Ingabe ufuna i-API yomkhiqizo noma isevisi ethile? Nazi ezinye izinsiza eziklelisa ama-API ongawasebenzisela wena kanye nokuthengisa:
Ungawahlola kanjani ama-API
I-API imane iyisicelo se-HTTP, esifana nesiphequluli. Umehluko wukuthi i-API ivamise ukudinga indlela ethile yokuqinisekisa ukwenza isicelo. Uma bungekho ubuqiniso obudingekayo, ungacela ngisho ngokunamathisela i-URL yesicelo esipheqululini. Nasi isibonelo sesicelo ku- i-open-source weather API.
Usebenzisa i-OSX, ungasebenzisa i- ukoma umyalo efasiteleni letheminali. Lapho ekhipha umyalo, cURL
izokwenza isicelo se-GET ku-URL ye-API enikeziwe, futhi impendulo equkethe idatha yesibikezelo sezulu izoboniswa Kutheminali.
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m"
Ku-Windows, ungafaka curl
futhi uyengeze ku-PATH yesistimu ukuze umyalo usebenze. Kungenjalo, ungasebenzisa inkampani yangaphandle curl
ezisebenzisekayo zeWindows, njenge cURL yeWindows or curl for Windows by Winamp bese usebenzisa umyalo we-curl ngendlela efanayo.
Nazi ezinye izilimi ezengeziwe nokuthi ungenza kanjani isicelo se-API:
- IPython: The
requests
umtapo wezincwadi uvame ukusetshenziselwa ukwenza izicelo ze-HTTP kuPython. Nasi isibonelo:
import requests
response = requests.get('https://example.com')
print(response.text)
- I-JavaScript (Node.js): The
axios
umtapo wolwazi iyiklayenti le-HTTP elisetshenziswa kakhulu le-Node.js. Nasi isibonelo:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- I-JQuery: Sebenzisa le
$.ajax
or$.get
imisebenzi yokwenza izicelo ze-HTTP. Nasi isibonelo sokwenza isicelo se-GET usebenzisa$.ajax
ku-jQuery:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- URuby: Umtapo wezincwadi ojwayelekile kaRuby uhlanganisa
net/http
imojula yokwenza izicelo ze-HTTP. Nasi isibonelo:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- IJava: I-Java ihlinzeka ngamalabhulali ahlukahlukene kanye nezinhlaka zokwenza izicelo ze-HTTP, njenge
HttpURLConnection
(kulabhulali ejwayelekile), i-Apache HttpClient, noma i-OkHttp. Nasi isibonelo esisebenzisayoHttpURLConnection
:
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# noma i-ASP.NET: Sebenzisa le
HttpClient
class ukwenza izicelo ze-HTTP. Nasi isibonelo sendlela yokwenza isicelo se-GET usebenzisaHttpClient
ku-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);
}
}
}
Khumbula ukwengeza okudingekayo using
izitatimende futhi isingathe okuhlukile ngendlela efanele lapho usebenza nayo HttpClient
kuhlelo lwakho lwe-ASP.NET noma lwe-C#.
- I-WordPress: I-WordPress API inemisebenzi yayo
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);
}
Lezi zibonelo zibonisa indlela yokwenza isicelo esiyisisekelo se-GET, kodwa la malabhulali ngokuvamile asekela izindlela ezihlukile ze-HTTP (GET, POST, njll.) futhi ahlinzeke ngezinketho zokusetha izihloko, ukuthumela ukukhokhelwa kwesicelo, nokusingatha izimpendulo ngendlela ethuthuke kakhulu.
Khumbula ukufaka noma yikuphi ukuncika okudingekayo noma amalabhulali olimi lwakho lokuhlela ngaphambi kokusebenzisa izibonelo zekhodi.
I-Talend inohlelo oluhle lokusebenza lwe-Chrome lokusebenzelana nama-API nokubona izimpendulo zawo uma ungathanda ukuhlola ama-API ngaphandle kokubhala umugqa wekhodi.
Engeza i-Talend's API Tester ku-Chrome
Yini emele i-Acronym SDK?
I-SDK isichazamazwi se- Ikhithi Yonjiniyela weSoftware.
Lapho inkampani ishicilela i-API yayo, ngokuvamile kuba nemibhalo ehambisanayo ebonisa ukuthi i-API iqinisekisa kanjani, ingabuzwa kanjani, kanye nezimpendulo ezifanele. Ukusiza abathuthukisi ukuthi bathole isiqalo, izinkampani zivame ukushicilela i-Software Developer Kit (
I-SDK) ukufaka kalula ikilasi noma imisebenzi edingekayo kumaphrojekthi abhalwa unjiniyela.Imeleni i-Acronym XML?
I-XML isichazamazwi se- Ulimi lwe-eXtensible Markup. XML iwulimi lwemakhaphu olusetshenziselwa ukubhala idatha ngefomethi efundeka umuntu futhi efundeka ngomshini.
Nasi isibonelo sendlela i-XML evela ngayo:
<?xml inguqulo ="1.0"?> <umkhiqizo id ="1"> Umkhiqizo A Umkhiqizo wokuqala 5.00 ngamunye
Yini emele i-Acronym JSON?
I-JSON isichazamazwi se- I-JavaScript Object Notation. I-JSON ifomethi yokuhlela idatha ethunyelwa emuva naphambili nge-API. I-JSON ingenye ye-XML. Ama-REST API avame ukuphendula nge-JSON – ifomethi evamile evulekile esebenzisa umbhalo ofundeka umuntu ukuze idlulisele izinto zedatha ezihlanganisa ukubhanqwa kwesibaluli–inani.
Nasi isibonelo sedatha engenhla usebenzisa i-JSON:
{ "id": 1, "isihloko": "Umkhiqizo A", "incazelo": "Umkhiqizo wokuqala", "intengo": { "inani": "5.00", "ngakunye": "ngamunye" } }
Ngabe i-Acronym REST imeleni?
I-REST isifinyezo se- Ukudluliswa Kwezwe Elimele isitayela sezakhiwo zamasistimu we-hypermedia asabalalisiwe.
Hawu… umoya ojulile! Ungafunda yonke iziqu lapha, ebizwa nge-Izitayela Zokwakha kanye ne-Design of Network-based Software Architectures ethunyelwe ngokweneliseka okulingene kwezidingo zezinga lika-DOKOTELA WEFILOSOPHI ku-Information and Computer Science ngo URoy Thomas Fielding.
Siyabonga, uDkt. Fielding!
Imelelani i-Acronym SOAP?
SOAP isichazamazwi se Iphrothokholi Yokufinyelela Into elula
Angiyena umhleli, kodwa ngokubona kwami, abathuthukisi abathanda i-SOAP benza kanjalo ngoba bangakwazi ukuthuthukisa kalula ikhodi kusixhumi esibonakalayo sohlelo esifundeka kalula. Ulimi Lwencazelo Yesevisi Yewebhu (I-WSDL) ifayela. Abadingi ukuhlaziya impendulo, sekufeziwe kusetshenziswa i-WSDL. I-SOAP idinga imvilophu yohlelo, echaza ukwakheka komlayezo kanye nendlela yokuwucubungula, isethi yemithetho yombhalo wekhodi yokuveza izimo zezinhlobo zedatha ezichazwe ngohlelo lokusebenza, kanye nesimiso sokumelela izinqubo zezingcingo nezimpendulo.