R repræsentativt S tate T ransfer (REST) er en arkitektonisk stil, der definerer et sæt begrænsninger, der skal bruges til at skabe webtjenester. REST API er en måde at få adgang til webtjenester på en enkel og fleksibel måde uden at have nogen behandling.
REST-teknologi foretrækkes generelt frem for den mere robuste SOAP-teknologi (Simple Object Access Protocol), fordi REST bruger mindre båndbredde, enkel og fleksibel, hvilket gør den mere velegnet til internetbrug. Det bruges til at hente eller give nogle oplysninger fra en webtjeneste. Al kommunikation udført via REST API bruger kun HTTP-anmodning.
Arbejder: En anmodning sendes fra klient til server i form af en web-URL som HTTP GET eller POST eller PUT eller SLET anmodning. Derefter kommer et svar tilbage fra serveren i form af en ressource, som kan være noget som HTML, XML, Image eller JSON. Men nu er JSON det mest populære format, der bruges i webtjenester.
Byg REST API-mesterskab Lær at integrere populære og praktiske Python REST API'er i Django webapplikationer med Educatives interaktive færdighedssti Bliv en Python-baseret API-integrator. Tilmeld dig på Educative.io med koden NØRD10 for at spare 10% på dit abonnement.
I HTTP der er fem metoder, der almindeligvis bruges i en REST-baseret arkitektur, dvs. POST, GET, PUT, PATCH og DELETE. Disse svarer til henholdsvis oprettelse, læsning, opdatering og sletning (eller CRUD). Der er andre metoder, der er mindre hyppigt brugt som OPTIONS og HEAD.
- FÅ: HTTP GET metoden bruges til Læs (eller hente) en repræsentation af en ressource. I den sikre sti returnerer GET en repræsentation i XML eller JSON og en HTTP-svarkode på 200 (OK). I et fejltilfælde returnerer det oftest en 404 (IKKE FUNDET) eller 400 (DÅRLIG FORESPØRGSEL).
- STOLPE: POST-verbet bruges oftest til skab nye ressourcer. Det bruges især til at skabe underordnede ressourcer. Det vil sige underordnet en anden (f.eks. forældre) ressource. Ved vellykket oprettelse returneres HTTP-status 201, returnerer en placeringsoverskrift med et link til den nyoprettede ressource med 201 HTTP-status.
BEMÆRK: POST er hverken sikkert eller idempotent.
- SÆTTE: Det bruges til opdatering evnerne. PUT kan dog også bruges til skab en ressource i det tilfælde, hvor ressource-id'et er valgt af klienten i stedet for af serveren. Med andre ord, hvis PUT'en er til en URI, der indeholder værdien af et ikke-eksisterende ressource-id. Ved vellykket opdatering returneres 200 (eller 204, hvis der ikke returneres noget indhold i kroppen) fra en PUT. Hvis du bruger PUT til oprettelse, returner HTTP-status 201 ved vellykket oprettelse. PUT er ikke sikker drift, men den er idempotent.
- LAPPE: Det er vant til modificere kapaciteter. PATCH-anmodningen behøver kun at indeholde ændringerne til ressourcen, ikke den komplette ressource. Dette ligner PUT, men brødteksten indeholder et sæt instruktioner, der beskriver, hvordan en ressource, der i øjeblikket findes på serveren, skal ændres til at producere en ny version. Dette betyder, at PATCH-legemet ikke bare skal være en modificeret del af ressourcen, men i en form for patchsprog som JSON Patch eller XML Patch. PATCH er hverken sikker eller idempotent.
- SLET: Det er vant til slette en ressource identificeret af en URI. Ved vellykket sletning returneres HTTP-status 200 (OK) sammen med en svartekst.
Idempotens: En idempotent HTTP-metode er en HTTP-metode, der kan kaldes mange gange uden forskellige udfald. Det er lige meget, om metoden kun kaldes én gang eller ti gange. Resultatet skal være det samme. Igen gælder dette kun for resultatet, ikke selve ressourcen.
Eksempel:
C
min max
1. a = 4> // It is Idempotence, as final value(a = 4)> > // would not change after executing it multiple> > // times.> 2. a++> // It is not Idempotence because the final value> > // will depend upon the number of times the> > // statement is executed.> |
>
>
Anmodning og svar
Nu vil vi se, hvordan anmodning og svar fungerer for forskellige HTTP metoder. Lad os antage, at vi har en API( https://www.techcodeview.com ) for alle studerendes data fra gfg.
- FÅ: Anmodning til alle studerende.
Anmodning |
GET:/api/studerende |
- STOLPE: Anmodning om bogføring/oprettelse/indsættelse af data
Anmodning |
POST:/api/studerende {navn:Raj} |
- PUT eller PATCH: Anmodning om opdatering af data på id=1
Anmodning |
PUT eller PATCH:/api/students/1 {navn:Raj} |
- SLET: Anmodning om sletning af data for id=1
Anmodning |
SLET:/api/students/1 |
RESTful webtjenester er meget populære, fordi de er lette, meget skalerbare og vedligeholdelige og er meget almindeligt brugt til at skabe API'er til webbaserede applikationer.