Den enkla och tydliga syntaxen i python gör det till ett perfekt programmeringsspråk att använda för att integrera mot ett REST API. Och självklart finns det en python paket som man kan använda; Requests.
Kommunikationen med ett REST API sker genom att applikationen gör ett request och får tillbaka en response.
Request (anrop):
Endpoint: Den URL som anropet ska gå till. Precis som en URL är anknuten till en specifik hemsida är också en endpoint url anknuten till en specifik resurs i rest api:et.
Method: Definierar hur man interagerar med den specifika resursen som är allokerad på endpointen. De vanligaste metoderna som används inom REST api:n är:
GET - Hämta data
PUT/PATCH - Ersätta data
POST - Skapa data
DELETE - Ta bort data
Data/Payload: Om du använder en metod ovan som involverar ändring av data i ett REST api så behöver du inkludera data som ska skapas/ändras.
Headers: Innehåller annan data som är nödvändig för att kommunikationen med REST api:et ska fungera, t.ex. authensierings token, typ av retur innehåll (json etc), caching policy om det finns sådan.
Response (respons/svar):
Precis som i ett request så innehåller en response headers och eventuell data. Headers i response innehåller http status och annan nödvändig metadata medan data innehåller den efterfrågade informationen (om tillämpligt). Typen av datan kan skilja sig men oftast är det JSON om det är text.
1. Klient klassen
För att hålla vår kod konsekvent och enhetlig brukar vi avsluta namnet med Client
. T.ex. om man integrera med Touchbase så kallar vi klassen TouchbaseClient
. Det första vi ska göra är att ta reda på vilka fasta parametrar som krävs för att kommunicera med api:et. Dessa kan vara api-nycklar, bas urlen som alla endpoints ska börja med etc. I vårt exempel nedan skickar vi in dessa vid instansieringen av klassen.
Vi skapar klassen och _init_
funktionen:
class TouchbaseClient:
def __init__(self, base_url, api_key, api_version):
self.base_url = base_url
self.api_key = api_key
self.api_version = api_version