logo

REST API Introduktion

R representativa S tate T ransfer (REST) ​​är en arkitektonisk stil som definierar en uppsättning begränsningar som ska användas för att skapa webbtjänster. REST API är ett sätt att få tillgång till webbtjänster på ett enkelt och flexibelt sätt utan att ha någon bearbetning.

REST API



REST-teknik är i allmänhet att föredra framför den mer robusta SOAP-tekniken (Simple Object Access Protocol) eftersom REST använder mindre bandbredd, enkel och flexibel vilket gör den mer lämpad för internetanvändning. Den används för att hämta eller ge viss information från en webbtjänst. All kommunikation som sker via REST API använder endast HTTP-begäran.

Arbetssätt: En begäran skickas från klient till server i form av en webbadress som HTTP GET eller POST eller PUT eller DELETE begäran. Efter det kommer ett svar tillbaka från servern i form av en resurs som kan vara något som HTML, XML, Image eller JSON. Men nu är JSON det mest populära formatet som används i webbtjänster.

Bygg REST API Mastery Lär dig att integrera populära och praktiska Python REST API:er i Django webbapplikationer med Educatives interaktiva skicklighetsväg Bli en Python-baserad API-integratör. Registrera dig på Educative.io med koden NÖRD 10 för att spara 10 % på ditt abonnemang.



I HTTP det finns fem metoder som vanligtvis används i en REST-baserad arkitektur, t.ex. POST, GET, PUT, PATCH och DELETE. Dessa motsvarar att skapa, läsa, uppdatera och ta bort (eller CRUD) operationer. Det finns andra metoder som används mer sällan som OPTIONS och HEAD.

  • SKAFFA SIG: HTTP GET-metoden används för att läsa (eller hämta) en representation av en resurs. I den säkra sökvägen returnerar GET en representation i XML eller JSON och en HTTP-svarskod på 200 (OK). I ett felfall returnerar den oftast en 404 (HITTS INTE) eller 400 (DÅLIG BEGÄRAN).
  • POSTA: POST-verbet används oftast till skapa nya resurser. I synnerhet används det för att skapa underordnade resurser. Det vill säga underordnad någon annan (t.ex. förälder) resurs. Vid lyckat skapande, returnera HTTP-status 201, returnera en platsrubrik med en länk till den nyskapade resursen med 201 HTTP-status.

NOTERA: POST är varken säkert eller idempotent.



  • SÄTTA: Den används för uppdatering förmågorna. PUT kan dock också användas till skapa en resurs i det fall där resurs-ID väljs av klienten istället för av servern. Med andra ord, om PUT är till en URI som innehåller värdet av ett icke-existerande resurs-ID. Vid framgångsrik uppdatering returnerar du 200 (eller 204 om du inte returnerar något innehåll i kroppen) från en PUT. Om du använder PUT för skapa, returnera HTTP-status 201 vid lyckat skapande. PUT är inte säker drift men den är idempotent.
  • LAPPA: Den är van vid ändra Förmågor. PATCH-begäran behöver bara innehålla ändringarna av resursen, inte hela resursen. Detta liknar PUT, men brödtexten innehåller en uppsättning instruktioner som beskriver hur en resurs som för närvarande finns på servern ska modifieras för att producera en ny version. Detta betyder att PATCH-kroppen inte bara ska vara en modifierad del av resursen, utan i något slags patchspråk som JSON Patch eller XML Patch. PATCH är varken säker eller idempotent.
  • RADERA: Den är van vid radera en resurs identifierad av en URI. Vid lyckad radering returnerar du HTTP-status 200 (OK) tillsammans med en svarstext.

Idempotens: En idempotent HTTP-metod är en HTTP-metod som kan anropas många gånger utan olika utfall. Det spelar ingen roll om metoden bara anropas en gång eller tio gånger om. Resultatet bör vara detsamma. Återigen, detta gäller bara resultatet, inte själva resursen.

Exempel:

C

hur man laddar ner musik




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.>

>

>

Begäran och svar

Nu ska vi se hur begäran och svar fungerar för olika HTTP metoder. Låt oss anta att vi har en API( https://www.techcodeview.com ) för alla studentdata för gfg.

  • SKAFFA SIG: Begäran för alla studenter.
Begäran
GET:/api/studenter
  • POSTA: Begäran om att lägga upp/skapa/infoga data

Begäran

POST:/api/studenter

{namn:Raj}

  • PUT eller PATCH: Begäran om uppdatering av data på id=1

Begäran

PUT eller PATCH:/api/students/1

{namn:Raj}

  • RADERA: Begäran om att ta bort data för id=1
Begäran
DELETE:/api/students/1

RESTful webbtjänster är mycket populära eftersom de är lätta, mycket skalbara och underhållbara och används mycket ofta för att skapa API:er för webbaserade applikationer.