Contents

Vad är REST API och hur kan du hämta data till din app eller webbplats?

Viktiga lärdomar

API:er spelar en viktig roll för att möjliggöra sömlös kommunikation mellan olika programvarukomponenter genom att acceptera förfrågningar om indata och tillhandahålla lämpliga utdatasvar, vilket förenklar processen för åtkomst till och hantering av data i olika system.

RESTful API:er använder URI:er (Uniform Resource Identifiers) för att komma åt och manipulera resurser och använder olika förfrågningsverb som GET, POST, PUT och DELETE för att utföra operationer, inklusive hämtning, skapande, modifiering och borttagning av information i enlighet därmed.

Genom att använda bibliotek som got i JavaScript eller requests i Python kan utvecklare konstruera applikationer som kan hämta information från flera RESTful API:er genom att ange en API-nyckel och en fråga i URL:en.

Termen “API” representerar konceptet med ett applikationsprogrammeringsgränssnitt, som fungerar som ett medium för att underlätta kommunikation mellan applikationer genom en serie definierade funktioner. När ett program skickar en förfrågan till ett annat via ett API, får det i retur ett motsvarande och relevant svar.

REST (Representational State Transfer) är en arkitektonisk stil som används vid utveckling av klient-server-applikationer. Det innebär att man får en bild av data som finns i en databas genom att använda ett RESTful API. Dessutom fungerar denna typ av API på ett statslöst sätt, vilket innebär att servern inte behåller någon information som rör klientförfrågningar under mellanliggande perioder.

Hur fungerar ett REST API?

Ett RESTful API använder Uniform Resource Identifiers (URI) för att hämta och manipulera data, där URL:er är den typiska formen av URI:er som används i sådana sammanhang.

För att använda och modifiera resurser använder ett RESTful API specifika förfrågningsverb för åtkomst till och manipulering av resurser:

⭐Get" hämtar data från en databas.

⭐Post - lägger till nya data i en databas.

⭐Put - uppdaterar data i en databas.

⭐Delete raderar data från en databas.

Genom att använda de många befintliga RESTful API:er som finns tillgängliga online som ett alternativ till att bygga din egen (snarare än att utveckla en anpassad lösning) begränsas dina alternativ till endast GET-begärandemetoden (via en URL). URL:erna i fråga består av olika element, men de som är mest relevanta för dina behov omfattar de nödvändiga behörighetsuppgifterna och alla förfrågningsparametrar som krävs för att hämta data.

Vid registrering på en RESTful Application Programming Interface (API)-plattform erhåller en person en unik identifierare som kallas API-nyckel. Med hjälp av denna nyckel kan man anpassa sin sökning genom att använda en specifik förfrågan. Om någon till exempel vill ha information om de aktuella klimatförhållandena i New York City, inkluderar de “city=New York” i frågedelen av sin Uniform Resource Locator (URL).

När en GET-begäran utförs består det resulterande svaret av en statuskod och en body. I de fall där begäran har utförts framgångsrikt kommer svarsdelen att innehålla den önskade informationen avsedd för användning inom en webbplats eller applikation.

Använda en JavaScript-applikation för att hämta data från olika REST API:er

För att kunna utveckla denna JavaScript-applikation är det nödvändigt att ladda ner och installera två separata program på din dator - nämligen NodeJS och npm. Lyckligtvis har vi utarbetat en detaljerad guide om hur man utför denna process för användare av både Ubuntu- och Windows-operativsystem. Om du vill ha ytterligare information om detta ämne hänvisar vi till våra respektive artiklar som beskriver steg-för-steg-installationsprocedurerna för varje plattform.

Efter installationen av de ovan nämnda programvarupaketen är det nödvändigt att utföra de efterföljande åtgärderna:

Öppna din integrerade utvecklingsmiljö (IDE) och initiera terminalen i den.

Använd cd-kommandot i ett terminal- eller kommandotolksfönster för att komma åt den katalog som innehåller din JavaScript-applikationsfil. Detta gör att du kan ändra den aktuella arbetskatalogen och underlätta navigering till önskad plats.

⭐ Initiera npm med följande kodrad:

 npm init -y 

Implementeringen av denna applikations kärnfunktionalitet är beroende av en specifik npm-modul som kallas “got”, som fungerar som ett HTTP-begärandebibliotek för NodeJS. För att säkerställa att got-biblioteket ingår i programfilerna kan du använda det medföljande kommandot för att automatiskt installera den senaste versionen:

 npm install got@latest 

Du är nu fri att konstruera din applikation efter eget gottfinnande.

Använda Got-biblioteket för att bygga ditt program

 // import the got library into your application
import got from 'got';

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

Det ovan nämnda programmet kan hämta information från alla internetbaserade RESTful API; det är dock nödvändigt att tillhandahålla den lämpliga Uniform Resource Locator (URL) för den relevanta resursen i förväg.

Hämta data från ett väder-REST-API

Weatherbit.io API är ett av de mer populära väder-API:erna. Om du infogar URL:en till detta API i den enkla JavaScript-applikationen ovan kommer appen att fungera.

Använda Weatherbit.io REST API

 // import the got library into your application
const got = require('got');

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const URL =
      'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';

    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

URL:en för Weatherbit.io API har integrerats i applikationen. För att säkerställa korrekt funktion är det nödvändigt att ändra ett element i URL:en som kallas “API\_KEY”. Denna nyckel tillhandahålls av Weatherbit.io vid registrering för ett kostnadsfritt konto och fungerar som en avgörande komponent för åtkomst till deras tjänster via denna API.

Du kan välja att modifiera frågeavsnittet i den medföljande koden. För närvarande hämtar programmet väderdata vid de geografiska koordinaterna 40,7128 grader nordlig latitud och -74,0060 grader västlig longitud; du har dock flexibiliteten att ange alternativa koordinater om så önskas. Även om den givna implementeringen anses vara lämplig har du också möjlighet att söka efter väderinformation baserat på en specifik stads namn istället.

Efter att ha angett din API-nyckel i det angivna fältet är du nu behörig att köra ditt JavaScript-skript. Gränssnittet bör visa ett meddelande som liknar följande resultat på din kommandotolk:

/sv/images/weather-api-response-body-part1.jpg /sv/images/weather-api-response-body-part2.jpg

Vissa nyckelelement i svarsdata är anmärkningsvärda, inklusive men inte begränsat till:

Den stad som ligger vid de angivna longitudinella och latitudinella koordinaterna anges med sitt namn, vilket fungerar som en unik identifierare för det specifika stadsområdet inom den bredare geografiska regionen.

Den aktuella tiden uttrycks i UTC (Coordinated Universal Time) och representerar dagens timme i formatet år, månad och datum med en kombination av siffror och bokstäver för att ange både år och veckodag (t.ex. “2023-04-15T08:30”).

Enheten “väder” representerar en sammansatt struktur som omfattar en visuell symbol som anger meteorologiska förhållanden, en motsvarande alfanumerisk identifierare känd som en väderkod och en verbal representation av det aktuella eller prognostiserade klimattillståndet.

Hämta data från ett News REST API

Detta avsnitt använder Newsdata.io API . Liksom alla REST API:er på webben innehåller det flera frågealternativ som du kan använda för att hämta nyheter från hela världen. Med Newsdata.io API kan du få nyheter från ett visst land, eller på ett visst språk, kategori och så vidare.

Genom att använda JavaScript-applikationen kan man få information från ett News RESTful API genom att helt enkelt byta ut den angivna URL:en i applikationen mot den angivna URL:en nedan:

 'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

För att få tillgång till nyheter från USA med hjälp av Newsdata.io API måste man ersätta platshållaren “YOUR\_API\_KEY” i den angivna URL:en med sin unika API-nyckel, som man får efter en lyckad registrering hos Newsdata.io. Genom att ändra “country” parametern från “us” till “jp” blir det möjligt att hämta nyhetsartiklar från Japan i stället.

Den efterföljande datan kommer att bestå av en serie instanser som var och en innehåller relevant information om aktuella händelser i Amerikas förenta stater. I detta specifika fall ska det första elementet i samlingen fungera som vår utgångspunkt för vidare analys och diskussion.

/sv/images/news-api-response-body-part1.jpg /sv/images/news-api-response-body-part2.jpg

Använda en Python-applikation för att hämta data från olika Rest API:er

Det är möjligt att hämta data till en webbplats eller ett program med hjälp av vilket programmeringsspråk som helst som du behärskar. Om du föredrar att inte använda JavaScript kan du därför uppnå likvärdiga resultat genom att implementera en Python-baserad lösning. Det kan handla om att bygga ett Python Application Programming Interface (API) med hjälp av ett av dess vanliga ramverk, eller att hämta information från ett befintligt Representational State Transfer (REST) API med ett enkelt skript.

För att kunna använda requests-biblioteket i Python är det nödvändigt att använda pip-pakethanteraren och installera den ovannämnda modulen. När den är installerad kan man utveckla sitt program genom att implementera den medföljande koden.

 # import the requests library
import requests

# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()

for key in json:
    print(key, json[key])

För att kunna använda funktionerna i API (Application Programming Interface) måste du ange din unika identifierare (API-nyckel) i det angivna fältet. Detta kommer att generera ett svarsobjekt, som liknar den utdata som genereras av JavaScript-implementeringen, som innehåller data i ett format som är lämpligt för bearbetning och analys.

/sv/images/news-api-response-body-python.jpg

Det är ganska enkelt att hämta data till din webbplats eller applikation

Med tillgång till tillräckliga resurser är det viktigt att inse fördelarna med REST-arkitekturmetoden för att främja frikoppling mellan olika komponenter. Mångsidigheten i denna metod gör att utvecklare kan använda en mängd olika programmeringsspråk samtidigt som de får tillgång till data från ett omfattande utbud av RESTful API:er som finns tillgängliga online.

Det är viktigt att förstå betydelsen av både API-nyckeln och frågan när du försöker få exakt den information som krävs av din applikation.