Mikä on API? Ja muut lyhenteet: REST, SOAP, XML, JSON, WSDL
Kun käytät selainta, selaimesi tekee pyyntöjä asiakkaan palvelimelta ja palvelin lähettää takaisin tiedot, jotka selaimesi kokoaa ja näyttää web-sivun. Mutta entä jos haluat vain palvelimesi tai verkkosivusi puhuvan toiselle palvelimelle? Tämä edellyttää ohjelmointia API:lle.
Mitä API tarkoittaa?
API on lyhenne sanoista Sovellusohjelmointirajapinta (API). API on joukko rutiineja, protokollia ja työkaluja verkkopohjaisten ja mobiilipohjaisten sovellusten rakentamiseen. API määrittää, kuinka voit todentaa (valinnainen), pyytää ja vastaanottaa tietoja API-palvelimelta.
Mikä on API?
Kun sitä käytetään verkkokehityksen yhteydessä, API on tyypillisesti määritetty joukko Hypertext Transfer Protocol (HTTP) pyyntöviestit sekä vastausviestien rakenteen määritelmä. Verkkosovellusliittymät mahdollistavat useiden palvelujen yhdistämisen uusiksi sovelluksiksi, joita kutsutaan mashupsiksi.
wikipedia
Esitetään yksinkertainen esimerkki. Jos käytät linkin lyhennystä jakaaksesi pitkän URL helpompi paremmin, saatat käyttää palvelua, kuten Bit.ly. Kirjoitat pitkän URL-osoitteen, lähetät URL-osoitteen ja Bit.ly vastaa lyhyellä URL-osoitteella.
Entä jos haluat käyttää Bit.ly:tä käyttämäsi alustan puitteissa? Ehkä olet rakentanut QR-koodinvalmistajan verkossa, mutta haluat lyhentää pitkiä URL-osoitteita ensin. Tässä tapauksessa voit ohjelmoida sivustosi lähettämään pyynnön Bit.ly API:lle ja kaapata sitten vastauksen QR-koodin rakentamiseksi.
Prosessi on automatisoitu API:lla, jossa ei tarvita ihmisen väliintuloa. Tämä on mahdollisuus, jonka sovellusliittymät tarjoavat jokaiselle organisaatiolle. API:t auttavat järjestelmiä tietojen synkronoinnissa, pyyntöjen käsittelyssä ja prosessien automatisoinnissa, jotka yleensä tehdään manuaalisesti.
Jos alustalla on vankka API, se tarkoittaa, että voit sekä integroida että automatisoida – säästät manuaalista aikaa, parannat alustasi reaaliaikaisia ominaisuuksia ja varmistat paremman tarkkuuden – välttäen manuaalisen tietojen syöttämisen ongelmia.
Video API:iden toiminnasta
Jos olet alustan kehittäjä, sovellusliittymät tarjoavat myös mahdollisuuden erottaa käyttöliittymäsi laskenta- ja tietokantakyselyistä. Miksi se on tärkeää? Kun kehität käyttöliittymääsi, voit käyttää samoja sovellusliittymiä, joita julkaiset muille kolmansille osapuolille. Voit kirjoittaa käyttöliittymäsi uudelleen murehtimatta taustaintegraation rikkomisesta.
Saatavilla olevien sovellusliittymien löytäminen
Etsitkö API:ta tietylle tuotteelle tai palvelulle? Tässä on joitain resursseja, joissa luetellaan sovellusliittymiä, joita voit käyttää henkilökohtaisesti ja kaupallisesti:
Kuinka testata API:ita
API on yksinkertaisesti HTTP-pyyntö, aivan kuten selain. Erona on se, että API vaatii usein jonkin todennusmenetelmän pyynnön tekemiseen. Jos todennusta ei tarvita, voit jopa pyytää liittämällä pyynnön URL-osoitteen selaimeen. Tässä on esimerkki pyynnöstä an avoimen lähdekoodin sää API.
OSX:n avulla voit hyödyntää cURL komento pääteikkunassa. Kun komento suoritetaan, cURL
tekee GET-pyynnön annettuun API-URL-osoitteeseen, ja sääennustetiedot sisältävä vastaus näkyy terminaalissa.
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m"
Windowsissa voit asentaa curl
ja lisää se järjestelmän PATH:iin, jotta komento toimii. Vaihtoehtoisesti voit käyttää kolmannen osapuolen palveluita curl
Windowsille suoritettavat tiedostot, kuten cURL Windowsille or Winampin curl Windowsille ja suorita curl-komento samalla tavalla.
Tässä on joitain lisäkieliä ja kuinka voit tehdä API-pyynnön:
- python: -
requests
kirjastoa käytetään yleisesti HTTP-pyyntöjen tekemiseen Pythonissa. Tässä on esimerkki:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): -
axios
kirjasto on laajalti käytetty HTTP-asiakasohjelma Node.js:lle. Tässä on esimerkki:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery: Käytä
$.ajax
or$.get
toimintoja HTTP-pyyntöjen tekemiseen. Tässä on esimerkki GET-pyynnön tekemisestä käyttämällä$.ajax
jQueryssä:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- Ruby: Rubyn vakiokirjasto sisältää
net/http
moduuli HTTP-pyyntöjen tekemiseen. Tässä on esimerkki:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- java: Java tarjoaa erilaisia kirjastoja ja kehyksiä HTTP-pyyntöjen tekemiseen, kuten
HttpURLConnection
(vakiokirjastossa), Apache HttpClient tai OkHttp. Tässä on esimerkki käytöstä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# tai ASP.NET: Käytä
HttpClient
luokka HTTP-pyyntöjen tekemiseen. Tässä on esimerkki GET-pyynnön tekemisestä käyttämälläHttpClient
C#:ssa:
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);
}
}
}
Muista lisätä tarvittava using
lausuntoja ja käsittele poikkeuksia asianmukaisesti työskennellessään niiden kanssa HttpClient
ASP.NET- tai C#-sovelluksessasi.
- WordPress: WordPress API:lla on omat toimintonsa
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);
}
Nämä esimerkit osoittavat, kuinka perus-GET-pyyntö suoritetaan, mutta nämä kirjastot tukevat yleensä erilaisia HTTP-menetelmiä (GET, POST jne.) ja tarjoavat vaihtoehtoja otsikoiden asettamiseen, pyyntöjen hyötykuormien lähettämiseen ja vastausten käsittelyyn edistyneemmällä tavalla.
Muista asentaa ohjelmointikielellesi tarvittavat riippuvuudet tai kirjastot ennen koodiesimerkkien suorittamista.
Talendilla on loistava Chrome-sovellus vuorovaikutukseen sovellusliittymien kanssa ja niiden vastausten näkemiseen, jos haluat testata sovellusliittymiä kirjoittamatta koodiriviä.
Lisää Talend's API Tester Chromeen
Mitä lyhenne SDK tarkoittaa?
SDK on lyhenne sanoista Ohjelmistokehittäjäsarja.
Kun yritys julkaisee API-liittymänsä, mukana on yleensä mukana dokumentaatio, joka osoittaa, kuinka API todentaa, kuinka siitä voidaan tehdä kyselyitä ja vastaavat vastaukset. Auttaakseen kehittäjiä pääsemään etumatkaan yritykset julkaisevat usein Software Developer Kit -paketin (
SDK) sisällyttääksesi luokan tai tarvittavat funktiot helposti kehittäjän kirjoittamiin projekteihin.Mitä lyhenne XML tarkoittaa?
XML on lyhenne sanoista Laajennettava merkintäkieli. XML on merkintäkieli, jota käytetään tietojen koodaamiseen muodossa, joka on sekä ihmisen että koneellisesti luettavissa.
Tässä on esimerkki XML: n esiintymisestä:
<?xml version ="1.0"?> <tuote id ="1"> Tuote A Ensimmäinen tuote 5.00 kukin
Mitä lyhenne JSON tarkoittaa?
JSON on lyhenne sanoista JavaScript Object Notation. JSON on muoto datan jäsentämiseksi, joka lähetetään edestakaisin API:n kautta. JSON on vaihtoehto XML:lle. REST-sovellusliittymät vastaavat yleisemmin JSONilla – avoimella standardimuodolla, joka käyttää ihmisen luettavaa tekstiä attribuutti-arvo-pareista koostuvien tietoobjektien lähettämiseen.
Tässä on esimerkki yllä olevista tiedoista JSON: n avulla:
{ "Id": 1, "Nimi": "Tuote A", "kuvaus": "Ensimmäinen tuote", "hinta": { "määrä": "5.00", "per": "kukin" } }
Mitä lyhenne REST tarkoittaa?
REST on lyhenne sanoista Edustava valtion siirto arkkitehtoninen tyyli hajautetuille hypermediajärjestelmille.
Vau ... syvään henkeä! Voit lukea koko väitöskirja täällä, nimeltään Arkkitehtoniset tyylit ja verkkopohjaisten ohjelmistoarkkitehtuurien suunnittelu, jotka olivat osittain tyytyväisiä tieto- ja tietojenkäsittelytieteen filosofian tohtorin tutkintovaatimuksiin, Roy Thomas Fielding.
Kiitos, tohtori Fielding!
Mitä lyhenne SOAP tarkoittaa?
SAIPPUA on lyhenne sanasta Yksinkertainen Object Access -protokolla
En ole ohjelmoija, mutta mielestäni SOAP:ia rakastavat kehittäjät tekevät niin, koska he voivat helposti kehittää koodia tavallisessa ohjelmointiliittymässä, joka lukee Verkkopalvelun määritelmäkieli (wsdl) tiedosto. Heidän ei tarvitse jäsentää vastausta, se on jo suoritettu WSDL:n avulla. SOAP vaatii ohjelmallisen kirjekuoren, joka määrittelee viestirakenteen ja sen käsittelyn, joukon koodaussääntöjä sovelluksen määrittämien tietotyyppien ilmentymien ilmaisemiseksi sekä käytännön proseduurikutsujen ja -vastausten esittämiseksi.