Hvorfor BRUGE REST API:
Lad os sige en simpel PHP-webserver i traditionelle webapplikationer,
- Du anmoder om en side (lad os sige php) fra serveren.
- Serveren finder scriptfilen (php) svarende til den side, du anmodede om, og begynder at udføre den. Scriptet opretter forbindelse til databasen, leder efter de krævede oplysninger, placerer oplysningerne på siden på en pænt formateret måde (blanding af HTML + CSS + JavaScript med dataene), der ser meget attraktivt ud for besøgende.
- Derefter sender serveren den tilbage til den besøgende.
I denne model udføres al behandling på serversiden. Så serveren skal udføre mere arbejde. Her er data ikke adskilt fra siden, de er indlejret dybt i siden.
Hvis du i fremtiden vil oprette en Android-app eller iOS-app eller en Desktop-app på dit websted, bliver du nødt til at gøre meget mere arbejde. Du bliver nødt til at oprette forbindelse til databasen direkte fra hver af disse apps, hvilket muligvis ikke er særlig sikkert. Udviklingstiden øges, og problemer med bærbarhed vil opstå.
Lad os sige, at du med succes har oprettet Desktop-, Android- og iOS-apps på dit websted. Brugerens fulde navn vises med små bogstaver i hver af dem. Nu vil du gerne vise det med store bogstaver. Nå, udviklerne skal ændre Desktop-, Android- og iOS-versionen af din app separat for at gøre det. Hvilket er tidskrævende. I den virkelige verden bliver tingene ikke så enkle som denne. Så en version af appen (Lad os sige Desktop-versionen) kan have en alvorlig fejl i opdateringsprocessen. Det vil tage længere tid at løse det senere. Kan du se, hvordan udviklingstiden øges? Denne løsning er ikke også bærbar.
I REST API spørger du API-serveren, hvad du har brug for, og den sender dig kun de oplysninger, du beder om, der foretages ingen yderligere formatering på serveren. Der er ikke behov for unødvendig behandling på serveren. Så ydeevnen på dit websted og dine apps forbedres naturligvis. Du kan også bruge de samme data på dit websted, desktop-app, Android- og iOS-apps. Ændringer foretaget på serverne afspejles i de apps, der bruger API'en. Appens udviklingstid og omkostninger reduceres også.
Sådan fungerer REST API:
REST API'erne har slutpunkter. Et slutpunkt er intet andet end en URL, men på en pænt formateret måde, og det er meningsfuldt. Det bruger de oprindelige HTTP-anmodninger (f.eks FÅ, STOLPE, SÆTTE, SLET osv.) for at beslutte, hvad du skal gøre, når du får adgang til hvert slutpunkt. Jeg vil tale om disse senere.
Outputformatet for REST API er JSON, også kendt som JavaScript Object Notation.
Et eksempel på output af en FÅ anmodning til REST API den / brugere / id / 12 slutpunkt kan se ud som følger:
"id": 12,
"name": "David Smith",
"alder": 42,
"telefoner": ["124-211-2341", "889-211-4545"],
"land": "USA"
Som du kan se, gjorde jeg en FÅ anmodning om / brugere / id / 12 slutpunkt for at fortælle REST API at give mig oplysninger om den bruger, der har id 12. Jeg fik bare de oplysninger, jeg anmodede om, ikke mere, intet mindre.
Lad os sige, at du vil have oplysninger om de sidste 10 brugere, der tilmeldte sig dit websted. Du kan gøre en FÅ anmodning om / brugere / seneste / 10 slutpunkt.
Du kan også tilføje nye data på din server ved hjælp af REST API. Normalt HTTP STOLPE anmodning bruges til at bede REST API om at tilføje nye data til API-serveren.
For eksempel kan du lave en STOLPE anmodning om / brugere slutpunkt med dataene fra den nye bruger, og det føjes til databasen på din API-server. Du kan også konfigurere din API til at returnere status for anmodningen.
"statusKode": 400,
"statusText": "Bruger tilføjet.",
"data":
"id": 13,
"name": "Mary Smith",
"alder": 35,
"telefoner": ["124-211-2341", "889-211-4545"],
"land": "USA"
Som du kan se, er statusKode og statusTekst egenskab for JSON-objektet underretter API-klienten om, at brugeren er tilføjet. De tilføjede data returneres også i data ejendom af JSON-objektet. Du kan konfigurere din API, som du vil.
Du kan også opdatere en eksisterende post fra API-serverens database. Det SÆTTE HTTP-anmodning bruges på et API-slutpunkt til at opdatere eksisterende data på din API-servers database.
Lad os for eksempel sige, at du vil opdatere brugerens telefonnummer med id 13. Du kan gøre en SÆTTE anmodning om API-slutpunktet / bruger / id / 13.
"statusKode": 200,
"statusText": "Bruger opdateret.",
"old_data":
"id": 13,
"navn": "Mary Smith",
"alder": 35,
"telefoner": ["124-211-2341", "889-211-4545"],
"land": "USA"
,
"nye_data":
"id": 13,
"name": "Mary Smith",
"alder": 35,
"telefoner": ["100-211-1111", "140-211-1145"],
"land": "USA"
Som du kan se, er opdateringsfunktionen vellykket. De gamle data og nye data returneres i gamle_data og nye_data ejendom af henholdsvis JSON-objektet.
Du kan også slette data fra API-serverens database med HTTP SLET anmodning om API-slutpunktet.
For eksempel for at slette brugeren med id 12, kan du gøre et SLET anmodning om API-slutpunktet / bruger / id / 12.
"statusKode": 150,
"statusText": "Bruger fjernet.",
"data":
"id": 12,
"name": "David Smith",
"alder": 42,
"telefoner": ["124-211-2341", "889-211-4545"],
"land": "USA"
Som du kan se, slettes brugeren, og de slettede brugerdata returneres i data ejendommen til JSON-objektet.
Jeg har forklaret den normale måde at bruge FÅ, STOLPE, SÆTTE og SLET HTTP-anmodning på API-slutpunkterne for at udføre CRUD-handling (Opret, læse, opdatere og slette) ved hjælp af REST API. Men du kan konfigurere din API til at udføre bestemte ting på en bestemt HTTP-anmodning. Intet er løst her. For eksempel kan du opdatere API'en ved hjælp af FÅ HTTP-anmodning. Du behøver ikke bruge SÆTTE. Det er op til API-designeren.
Du designer også API-slutpunkterne. At give meningsfulde navne til dine API-slutpunkter gør din REST API meget lettere at bruge.
Anvendelser af REST API:
API'er gør appudvikling nemmere og modulær. Ved hjælp af REST API kan du nemt porte din app til forskellige platforme.
Alt du skal gøre er at designe og udvikle en REST API til din applikation. Derefter kan du bruge din REST API fra dit websted, Android-app, iOS-app, Windows desktop-app og Linux-app osv. På denne måde bruger alle dine apps på forskellige platforme den samme logik, og din udviklingstid og omkostninger reduceres. Apps bliver også lettere at administrere. REST API'er bruges også hurtigt i enkeltsides webapplikationer i disse dage.
Jeg har skrevet en artikel om at skrive REST API'er ved hjælp af Python. Tak, fordi du læste denne artikel.