Mis on API? Ja muud akronüümid: REST, SOAP, XML, JSON, WSDL


Kui kasutate brauserit, esitab teie brauser päringuid kliendi serverilt ja server saadab tagasi andmed, mille teie brauser kokku paneb ja koos veebilehe kuvamisega. Aga mis siis, kui soovite, et teie server või veebileht räägiks teise serveriga? Selleks oleks vaja programmeerida API-le.
Mida tähendab API?
API on lühend Application Programming Interface (API). API on rutiinide, protokollide ja tööriistade kogum veebi- ja mobiilipõhiste rakenduste loomiseks. API määrab, kuidas saate API serverist autentida (valikuline), nõuda ja vastu võtta andmeid.
Mis on API?
API on sisuliselt reeglite ja spetsifikatsioonide kogum, mis võimaldab erinevatel tarkvararakendustel üksteisega suhelda ja suhelda. See toimib sõnumitooja või vahendajana, võimaldades ühel rakendusel teiselt andmeid või teenuseid taotleda ja seejärel vastust saada.
Toome lihtsa näite. Kui kasutate pika levitamiseks lingi lühendajat URL lihtsam, võiksite kasutada mõnda sarnast teenust Bit.ly. Sisestate pika URL-i, esitate URL-i ja Bit.ly vastab lühikese URL-iga.
Mis siis, kui soovite Bit.ly-d kasutada teie kasutatava platvormi raames? Võib-olla olete loonud võrgus QR-koodi koostaja, kuid soovite enne pikki URL-e lühendada. Sel juhul saate oma saidi programmeerida nii, et see saadaks päringu Bit.ly API-le ja jäädvustaks seejärel vastuse QR-koodi koostamiseks.
Protsess on automatiseeritud API-ga, kus pole vaja inimese sekkumist. See on võimalus, mida API-d pakuvad igale organisatsioonile. API-d abistavad süsteeme andmete sünkroonimisel, taotluste töötlemisel ja tavaliselt käsitsi tehtavate protsesside automatiseerimisel.
Kui platvormil on tugev API, tähendab see, et saate nii integreerida kui automatiseerida, säästes käsitsi aega, parandades oma platvormide reaalajas võimalusi ja tagades parema täpsuse – vältides probleeme käsitsi andmete sisestamisega.
Video API-de toimimisest
Kui olete platvormi arendaja, pakuvad API-d ka võimalust eraldada teie kasutajaliides teie arvutus- ja andmebaasipäringutest. Miks see oluline on? Kasutajaliidese arendamisel saate kasutada samu API-sid, mida avaldate teistele kolmandatele osapooltele. Saate oma kasutajaliidese ümber kirjutada, muretsemata taustaintegratsiooni katkestamise pärast.
Kuidas leida saadaolevaid API-sid
Kas otsite API-d konkreetse toote või teenuse jaoks? Siin on mõned ressursid, mis loetlevad API-sid, mida saate isiklikult ja äriliselt kasutada.
Kuidas testida API-sid
API on lihtsalt HTTP-päring, sarnaselt brauserile. Erinevus seisneb selles, et API nõuab päringu tegemiseks sageli mõnda autentimismeetodit. Kui autentimist pole vaja, saate isegi taotleda, kleepides päringu URL-i brauserisse. Siin on näide taotlusest an avatud lähtekoodiga ilmastiku API.
OSX-i kasutades saate kasutada Curl käsk terminali aknas. Käsu täitmisel cURL teeb GET päringu esitatud API URL-ile ja vastus, mis sisaldab ilmaennustuse andmeid, kuvatakse terminalis.
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m" Windowsis saate installida curl ja lisage see süsteemi PATH-sse, et käsk töötaks. Teise võimalusena võite kasutada kolmanda osapoole teenuseid curl Windowsi käivitatavad failid, nt cURL Windowsi jaoks or curl Windowsile, autor Winamp ja käivitage curl käsk sarnaselt.
Siin on mõned täiendavad keeled ja API päringu esitamine.
- python: .
requeststeeki kasutatakse Pythonis tavaliselt HTTP-päringute tegemiseks. Siin on näide:
import requests
response = requests.get('https://example.com')
print(response.text) - JavaScript (Node.js): .
axiosteek on Node.js-i jaoks laialdaselt kasutatav HTTP-klient. Siin on näide:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
}); - JQuery: Kasuta
$.ajaxor$.getfunktsioone HTTP päringute tegemiseks. Siin on näide GET-päringu tegemisest kasutades$.ajaxjQuerys:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
}); - Rubiin: Ruby standardraamatukogu sisaldab
net/httpmoodul HTTP päringute tegemiseks. Siin on näide:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body - Java: Java pakub HTTP päringute tegemiseks erinevaid teeke ja raamistikke, nt
HttpURLConnection(standardses teegis), Apache HttpClient või OkHttp. Siin on näide kasutamisestHttpURLConnection:
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# või ASP.NET: Kasuta
HttpClientklassi HTTP-päringute tegemiseks. Siin on näide selle kohta, kuidas teha GET-i päring kasutadesHttpClientC# keeles:
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);
}
}
} Ärge unustage lisada vajalikku using avaldusi ja käsitleda erandeid töötamisel asjakohaselt HttpClient oma ASP.NET- või C#-rakenduses.
- WordPress: WordPress API-l on oma funktsioonid
wp_remote_getorwp_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);
} Need näited näitavad, kuidas täita põhilist GET-päringut, kuid need teegid toetavad tavaliselt erinevaid HTTP-meetodeid (GET, POST jne) ja pakuvad valikuid päiste seadistamiseks, päringu kasulike koormuste saatmiseks ja vastuste täpsemaks käsitlemiseks.
Ärge unustage enne koodinäidete käivitamist installida kõik oma programmeerimiskeele jaoks vajalikud sõltuvused või teegid.
Talendil on suurepärane Chrome'i rakendus API-dega suhtlemiseks ja nende vastuste nägemiseks, kui soovite API-sid testida ilma koodirida kirjutamata.
Lisage Chrome'i Talendi API tester
Mida tähistab lühend SDK?
SDK on lühend Tarkvara arendaja komplekt.
Kui ettevõte avaldab oma API, on tavaliselt kaasas dokumentatsioon, mis näitab, kuidas API autentib, kuidas saab selle kohta päringuid teha ja asjakohaseid vastuseid. Et aidata arendajatel edumaa saada, avaldavad ettevõtted sageli tarkvaraarendaja komplekti (SDK) klassi või vajalike funktsioonide hõlpsaks kaasamiseks arendaja kirjutatud projektidesse.
Mida tähistab lühend XML?
XML on lühend laiendatav märgistuskeel. XML on märgistuskeel, mida kasutatakse andmete kodeerimiseks vormingus, mis on nii inimloetav kui ka masinloetav.
Siin on näide XML-i ilmumisest:
<?xml version="1.0"?>
<product id="1">
<title>Product A</title>
<description>The first product</description>
<price>
<amount>5.00</amount>
<per>each</per>
</price>
</book> Mida tähistab lühend JSON?
JSON on lühend Java Objekti märgistus. JSON on API kaudu edasi-tagasi saadetavate andmete struktureerimise vorming. JSON on XML-i alternatiiv. REST API-d reageerivad sagedamini JSON-iga – avatud standardvorminguga, mis kasutab atribuutide-väärtuste paaridest koosnevate andmeobjektide edastamiseks inimesele loetavat teksti.
Siin on näide ülaltoodud andmetest JSONi abil:
{
"id": 1,
"title": "Product A",
"description": "The first product",
"price": {
"amount": "5.00",
"per": "each"
}
} Mida tähistab lühend REST?
REST on akronüüm sõnadest Esindusriigi üleandmine hajutatud hüpermeediasüsteemide arhitektuuristiil.
Hmm ... sügav hingeõhk! Saate lugeda kogu väitekiri siin, nimega Arhitektuuristiilid ja võrgupõhiste tarkvaraarhitektuuride kujundus, mis esitati osaliselt info- ja arvutiteaduste filosoofia doktori kraadi nõuetele Roy Thomas Fielding.
Aitäh, dr Fielding!
Mida tähendab Acronym SOAP?
SOAP on lühend sõnadest Lihtne objektile juurdepääsu protokoll
Ma ei ole programmeerija, kuid minu arvates teevad SOAP-i armastavad arendajad seda seetõttu, et nad saavad hõlpsasti koodi välja töötada standardses programmeerimisliideses, mis loeb Veebiteenuse määratluskeel (wsdl) faili. Nad ei pea vastust sõeluma, see on juba tehtud WSDL-i abil. SOAP nõuab programmilist ümbrikut, mis määratleb sõnumi struktuuri ja selle töötlemise, kodeerimisreeglite komplekti rakenduse poolt määratletud andmetüüpide esinemisjuhtude väljendamiseks ning protseduurikutsete ja vastuste esitamise tava.



