Wat is in API? En oare Acronyms: REST, SOAP, XML, JSON, WSDL
As jo in blêder brûke, makket jo blêder oanfragen fan 'e tsjinner fan 'e kliïnt, en de tsjinner stjoert gegevens werom dy't jo blêder gearstalt en in webside mei toant. Mar wat as jo gewoan woenen dat jo server of webside mei in oare server praat? Dit soe fereaskje dat jo programmearje nei in API.
Wat stiet API foar?
API is in ôfkoarting foar Interface foar programmearring fan tapassing (API). In API is in set fan routines, protokollen en ark foar it bouwen fan web-ynskeakele en mobyl-basearre applikaasjes. De API spesifisearret hoe't jo kinne ferifiearje (opsjoneel), oanfreegje en ûntfange gegevens fan de API-tsjinner.
Wat is in API?
As brûkt yn 'e kontekst fan webûntwikkeling, is in API typysk in definieare set fan Hypertext Transfer Protocol (HTTP) fersyk berjochten, tegearre mei in definysje fan de struktuer fan antwurd berjochten. Web APIs tastean de kombinaasje fan meardere tsjinsten yn nije applikaasjes bekend as mashups.
Wikipedy
Litte wy in ienfâldich foarbyld jaan. As jo brûke in keppeling shortener te fersprieden in lange URL makliker better, jo miskien brûke in tsjinst lykas Bit.ly. Jo typ de lange URL yn, stjoer de URL yn, en Bit.ly reagearret mei de koarte URL.
Wat as jo Bit.ly wolle brûke binnen it berik fan in platfoarm dat jo brûke? Miskien hawwe jo in QR-koade makker online boud, mar wolle earst lange URL's ynkoarte. Yn dit gefal kinne jo jo side programmearje om it fersyk te stjoeren nei de Bit.ly API en dan it antwurd fange om jo QR-koade te bouwen.
It proses wurdt automatisearre mei in API dêr't gjin minsklike yntervinsje is nedich. Dit is de kâns dy't API's elke organisaasje leverje. API's helpe systemen by it syngronisearjen fan gegevens, it ferwurkjen fan oanfragen en it automatisearjen fan prosessen dy't typysk mei de hân dien wurde.
As in platfoarm in robúste API hat, betsjuttet it dat jo sawol yntegrearje as automatisearje kinne - manuell tiid besparje, de real-time mooglikheden fan jo platfoarms ferbetterje, en ferbettere krektens garandearje - problemen mei manuele gegevensynfier foarkomme.
In fideo fan hoe't API's wurkje
As jo in platfoarmûntwikkelder binne, biede API's ek de kâns om jo brûkersynterface te skieden fan jo berekkenings- en databasefragen. Wêrom is dat wichtich? Wylst jo jo brûkersynterface ûntwikkelje, kinne jo deselde API's brûke dy't jo publisearje foar oare tredden. Jo kinne jo brûkersynterface opnij skriuwe sûnder jo soargen te meitsjen oer it brekken fan 'e back-end-yntegraasje.
Hoe kinne jo beskikbere API's fine
Binne jo op syk nei in API foar in spesifyk produkt of tsjinst? Hjir binne wat boarnen dy't API's listje dy't jo persoanlik en kommersjeel kinne brûke:
Hoe kinne jo API's testen
In API is gewoan in HTTP-fersyk, lykas in browser. De differinsjaasje is dat in API faaks wat autentikaasjemetoade fereasket om it fersyk te meitsjen. As gjin autentikaasje nedich is, kinne jo sels oanfreegje troch it fersyk-URL yn in browser te plakjen. Hjir is in foarbyld fan in fersyk oan in iepen boarne Wetter API.
Mei OSX kinne jo de cURL kommando yn in terminalfinster. By it útfieren fan it kommando, cURL
sil in GET-fersyk meitsje oan 'e levere API-URL, en it antwurd mei de waarberjochtgegevens sil wurde werjûn yn' e 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"
Op Windows kinne jo ynstallearje curl
en foegje it ta oan it PATH fan it systeem foar it kommando om te wurkjen. As alternatyf kinne jo gebrûk meitsje fan tredden curl
útfierbere foar Windows, lykas cURL foar Windows or curl foar Windows troch Winamp en útfiere it curl kommando op deselde manier.
Hjir binne wat ekstra talen en hoe't jo in API-fersyk kinne meitsje:
- python: De
requests
bibleteek wurdt faak brûkt foar it meitsjen fan HTTP-oanfragen yn Python. Hjir is in foarbyld:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): De
axios
bibleteek is in breed brûkte HTTP-kliïnt foar Node.js. Hjir is in foarbyld:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery: Brûk de
$.ajax
or$.get
funksjes om HTTP-oanfragen te meitsjen. Hjir is in foarbyld fan it meitsjen fan in GET-fersyk mei$.ajax
yn jQuery:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- ruby: Ruby syn standert bibleteek befettet de
net/http
module foar it meitsjen fan HTTP-oanfragen. Hjir is in foarbyld:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- Java: Java leveret ferskate bibleteken en kaders foar it meitsjen fan HTTP-oanfragen, lykas
HttpURLConnection
(yn 'e standert bibleteek), Apache HttpClient, of OkHttp. Hjir is in foarbyld fan gebrûkHttpURLConnection
:
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# of ASP.NET: Brûk de
HttpClient
klasse om HTTP-oanfragen te meitsjen. Hjir is in foarbyld fan hoe't jo in GET-fersyk meitsje kinne meiHttpClient
yn 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);
}
}
}
Unthâld te foegjen de nedige using
útspraken en omgean útsûnderingen passend by it wurkjen mei HttpClient
yn jo ASP.NET- of C#-applikaasje.
- WordPress: De WordPress API hat syn eigen funksjes
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);
}
Dizze foarbylden litte sjen hoe't jo in basis GET-fersyk útfiere kinne, mar dizze biblioteken stypje typysk ferskate HTTP-metoaden (GET, POST, ensfh.)
Unthâld om alle fereaske ôfhinklikens of bibleteken te ynstallearjen foar jo programmeartaal foardat jo de koadefoarbylden útfiere.
Talend hat in geweldige Chrome-applikaasje foar ynteraksje mei API's en har antwurden te sjen as jo API's wolle testen sûnder in rigel koade te skriuwen.
Foegje Talend's API Tester ta oan Chrome
Wêr stiet de Acronym SDK foar?
SDK is in ôfkoarting foar Software Developer Kit.
As in bedriuw syn API publisearret, is d'r typysk begeliedende dokumintaasje dy't toant hoe't de API autentiket, hoe't it kin wurde oanfrege, en de passende antwurden. Om ûntwikkelders te helpen in foarsprong te krijen, publisearje bedriuwen faak in Software Developer Kit (
SDK) om maklik in klasse as de nedige funksjes op te nimmen yn projekten dy't de ûntwikkelder skriuwt.Wêr stiet de Acronym XML foar?
XML is in ôfkoarting foar eXtensible Markup Language. XML is in opmaaktaal dy't brûkt wurdt om gegevens te kodearjen yn in formaat dat sawol foar minsken as masinelêsber is.
Hjir is in foarbyld fan hoe't XML ferskynt:
<?xml ferzje ="1.0"?> <produkt id ="1"> Produkt A It earste produkt 5.00 elk
Wêr stiet de Acronym JSON foar?
JSON is in ôfkoarting foar JavaScript Objektnotaasje. JSON is in opmaak foar strukturearjen gegevens dy't wurdt ferstjoerd hinne en wer fia in API. JSON is in alternatyf foar XML. REST API's reagearje faker mei JSON - in iepen standertformaat dat troch minsken lêsbere tekst brûkt om gegevensobjekten te ferstjoeren besteande út attribút-wearde-pearen.
Hjir is in foarbyld fan 'e gegevens hjirboppe mei JSON:
{ "id": 1, "Titel": "Produkt A", "beskriuwing": "It earste produkt", "priis": { "tal": "5.00", "mei": "elk" } }
Wêr stiet de Acronym REST foar?
RÊST is in akronym foar de Fertsjintwurdiging State Transfer arsjitektoanyske styl foar ferspraat hypermedia systemen.
Whew ... djippe sykheljen! Jo kinne it heule lêze proefskrift hjir, neamd de Architectural Styles and the Design of Network-based Software Architectures yntsjinne yn parsjele befrediging fan 'e easken foar de graad DOKTER FILOSOFY yn ynformaasje en kompjûterwittenskip troch Roy Thomas Fielding.
Tankewol, Dr. Fielding!
Wêr stiet de Acronym SOAP foar?
SJIPPE is in akronym foar Ienfâldich protokol foar tagong fan objekten
Ik bin gjin programmeur, mar nei myn miening dogge ûntwikkelders dy't fan SOAP hâlde dat om't se maklik koade kinne ûntwikkelje yn in standert programmearynterface dy't de Web Service Definition Taal (wsdl) map. Se hoege it antwurd net te parsearjen, it is al dien mei de WSDL. SOAP fereasket in programmatyske envelope, dy't de berjochtstruktuer definiearret en hoe't it ferwurke wurdt, in set kodearringsregels foar it útdrukken fan gefallen fan applikaasje-definieare datatypen, en in konvinsje foar it fertsjintwurdigjen fan proseduereoproppen en antwurden.