logo

REST API Uvod

R epredstavitveni S tate T ransfer (REST) ​​je arhitekturni slog, ki definira niz omejitev, ki se uporabljajo za ustvarjanje spletnih storitev. REST API je način dostopa do spletnih storitev na preprost in prilagodljiv način brez obdelave.

REST API



Tehnologija REST ima na splošno prednost pred robustnejšo tehnologijo SOAP (Simple Object Access Protocol), ker REST uporablja manj pasovne širine, je preprosta in prilagodljiva, zaradi česar je primernejša za uporabo interneta. Uporablja se za pridobivanje ali dajanje nekaterih informacij iz spletne storitve. Vsa komunikacija, izvedena prek API-ja REST, uporablja samo zahtevo HTTP.

Delo: Zahteva je poslana od odjemalca do strežnika v obliki spletnega URL-ja kot zahteva HTTP GET ali POST ali PUT ali DELETE. Po tem se odgovor vrne s strežnika v obliki vira, ki je lahko karkoli, kot je HTML, XML, slika ali JSON. Zdaj pa je JSON najbolj priljubljen format, ki se uporablja v spletnih storitvah.

Zgradite REST API Mastery Naučite se integrirati priljubljene in praktične API-je Python REST v spletne aplikacije Django z interaktivno potjo spretnosti Educative Postanite integrator API-ja, ki temelji na Pythonu. Prijavite se na Educative.io s kodo GEEKI10 da prihranite 10 % pri naročnini.



noter HTTP obstaja pet metod, ki se pogosto uporabljajo v arhitekturi, ki temelji na REST, tj. POST, GET, PUT, PATCH in DELETE. Ti ustrezajo operacijam ustvarjanja, branja, posodabljanja in brisanja (ali CRUD). Obstajajo tudi druge metode, ki se manj pogosto uporabljajo, kot sta OPTIONS in HEAD.

  • PRIDOBITE: Metoda HTTP GET se uporablja za prebrati (ali pridobiti) predstavitev vira. Na varni poti GET vrne predstavitev v XML ali JSON in odzivno kodo HTTP 200 (OK). V primeru napake najpogosteje vrne 404 (NOT FOUND) ali 400 (BAD REQUEST).
  • OBJAVA: Glagol POST se najpogosteje uporablja za ustvariti novih virov. Zlasti se uporablja za ustvarjanje podrejenih virov. Se pravi podrejen nekemu drugemu (npr. nadrejenemu) viru. Ob uspešnem ustvarjanju vrne status HTTP 201, vrne glavo Location s povezavo do novo ustvarjenega vira s statusom HTTP 201.

OPOMBA: POST ni niti varen niti idempotenten.



  • POSTAVITE: Uporablja se za posodabljanje zmogljivosti. Vendar pa se PUT lahko uporablja tudi za ustvariti vir v primeru, ko ID vira izbere odjemalec namesto strežnik. Z drugimi besedami, če je PUT na URI, ki vsebuje vrednost neobstoječega ID-ja vira. Ob uspešni posodobitvi vrnite 200 (ali 204, če ne vrnete nobene vsebine v telesu) iz PUT. Če za ustvarjanje uporabljate PUT, ob uspešnem ustvarjanju vrnite status HTTP 201. PUT ni varna operacija, vendar je idempotentna.
  • POKRIV: Navajen je spremeniti zmogljivosti. Zahteva PATCH mora vsebovati le spremembe vira, ne celotnega vira. To spominja na PUT, vendar telo vsebuje nabor navodil, ki opisujejo, kako naj se vir, ki se trenutno nahaja na strežniku, spremeni za izdelavo nove različice. To pomeni, da telo PATCH ne bi smelo biti samo spremenjen del vira, ampak v nekem jeziku popravkov, kot je popravek JSON ali popravek XML. PATCH ni niti varen niti idempotenten.
  • IZBRIŠI: Navajen je izbrisati vir, ki ga identificira URI. Ob uspešnem brisanju vrne status HTTP 200 (V redu) skupaj z telesom odgovora.

Idempotenca: Idempotentna metoda HTTP je metoda HTTP, ki jo je mogoče poklicati večkrat brez različnih rezultatov. Ne bi bilo pomembno, ali je metoda poklicana samo enkrat ali desetkrat. Rezultat bi moral biti enak. Še enkrat, to velja samo za rezultat, ne za sam vir.

primer:

C

java je prazna




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

>

>

Zahteva in odgovor

Zdaj bomo videli, kako zahteva in odgovor delujeta za različne HTTP metode. Predpostavimo, da imamo API( https://www.techcodeview.com ) za vse podatke študentov gfg.

  • PRIDOBITE: Prošnja za vse študente.
Prošnja
GET:/api/students
  • OBJAVA: Zahteva za objavo/ustvarjanje/vnos podatkov

Prošnja

POST:/api/students

{ime: Raj}

  • PUT ali PATCH: Zahteva za posodobitev podatkov na id=1

Prošnja

PUT ali PATCH:/api/students/1

{ime: Raj}

  • IZBRIŠI: Zahteva za izbris podatkov id=1
Prošnja
DELETE:/api/students/1

Spletne storitve RESTful so zelo priljubljene, ker so lahke, zelo razširljive in vzdržljive ter se zelo pogosto uporabljajo za ustvarjanje API-jev za spletne aplikacije.