logo

REST API įvadas

R reprezentacinis S tate T ransfer (REST) ​​yra architektūrinis stilius, apibrėžiantis apribojimų rinkinį, kuris bus naudojamas kuriant žiniatinklio paslaugas. REST API yra būdas paprastai ir lanksčiai pasiekti žiniatinklio paslaugas be jokio apdorojimo.

REST API



REST technologijai paprastai teikiama pirmenybė, o ne tvirtesnė paprastojo objektų prieigos protokolo (SOAP) technologija, nes REST naudoja mažiau pralaidumo, yra paprasta ir lanksti, todėl ji labiau tinka interneto naudojimui. Jis naudojamas norint gauti arba pateikti tam tikrą informaciją iš žiniatinklio paslaugos. Visiems ryšiams, vykstantiems per REST API, naudojama tik HTTP užklausa.

Dirba: Užklausa iš kliento į serverį siunčiama žiniatinklio URL forma kaip HTTP GET arba POST arba PUT arba DELETE užklausa. Po to iš serverio grįžta atsakymas kaip šaltinis, kuris gali būti bet koks HTML, XML, vaizdas arba JSON. Tačiau dabar JSON yra populiariausias formatas, naudojamas žiniatinklio paslaugose.

Sukurkite REST API meistriškumą Išmokite integruoti populiarias ir praktiškas Python REST API į Django žiniatinklio programas su Educative interaktyviu įgūdžių keliu Tapkite „Python“ pagrindu veikiančiu API integratoriumi. Prisiregistruokite Educative.io naudodami kodą GEEKS10 sutaupyti 10% prenumeratos.



Į HTTP yra penki metodai, kurie dažniausiai naudojami REST pagrįstoje architektūroje, ty POST, GET, PUT, PATCH ir DELETE. Tai atitinkamai atitinka kūrimo, skaitymo, atnaujinimo ir ištrynimo (arba CRUD) operacijas. Yra ir kitų metodų, kurie naudojami rečiau, pavyzdžiui, OPTIONS ir HEAD.

  • GAUTI: HTTP GET metodas naudojamas skaityti (arba gauti) ištekliaus atvaizdą. Saugiame kelyje GET grąžina atvaizdą XML arba JSON formatu ir HTTP atsako kodą 200 (Gerai). Klaidos atveju jis dažniausiai grąžina 404 (NOT FOUND) arba 400 (BAD REQUEST).
  • PASTABA: POST veiksmažodis dažniausiai naudojamas sukurti naujų išteklių. Visų pirma, jis naudojamas pavaldžių išteklių kūrimui. Tai yra, pavaldūs kokiam nors kitam (pvz., pagrindiniam) ištekliui. Sėkmingai sukūrę, grąžinkite HTTP būseną 201, grąžindami Vietos antraštę su nuoroda į naujai sukurtą šaltinį su 201 HTTP būsena.

PASTABA: POST nėra nei saugus, nei idempotentas.



  • PUT: Jis naudojamas atnaujinimas pajėgumus. Tačiau PUT taip pat gali būti naudojamas sukurti išteklius tuo atveju, kai ištekliaus ID pasirenka klientas, o ne serveris. Kitaip tariant, jei PUT yra URI, kuriame yra neegzistuojančio ištekliaus ID reikšmė. Sėkmingai atnaujinus, grąžinkite 200 (arba 204, jei negrąžinate jokio turinio) iš PUT. Jei kūrimui naudojate PUT, sėkmingai sukurkite HTTP būseną 201. PUT nėra saugus veikimas, bet idempotentas.
  • PLEISTRAS: Taip pripratę modifikuoti pajėgumus. PATCH užklausoje turi būti tik išteklių pakeitimai, o ne visas išteklius. Tai panašu į PUT, bet turinyje yra instrukcijų rinkinys, aprašantis, kaip šiuo metu serveryje esantis išteklius turėtų būti modifikuotas, kad būtų sukurta nauja versija. Tai reiškia, kad PATCH turinys turėtų būti ne tik modifikuota ištekliaus dalis, bet ir tam tikra pataisų kalba, pvz., JSON pataisa arba XML pataisa. PATCH nėra nei saugus, nei idempotentas.
  • IŠTRINTI: Taip pripratę Ištrinti išteklius, identifikuotas pagal URI. Sėkmingai ištrynus, grąžinkite HTTP būseną 200 (OK) kartu su atsakymo tekstu.

Idempotencija: Idempotentinis HTTP metodas yra HTTP metodas, kurį galima iškviesti daug kartų be skirtingų rezultatų. Nesvarbu, ar metodas bus iškviestas tik vieną kartą, ar dešimt kartų. Rezultatas turėtų būti toks pat. Vėlgi, tai taikoma tik rezultatui, o ne pačiam ištekliui.

Pavyzdys:

C

centos vs redhat




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

>

>

Prašymas ir atsakymas

Dabar pamatysime, kaip užklausa ir atsakymas veikia skirtingai HTTP metodus. Tarkime, kad turime API( https://www.techcodeview.com ) visiems studentams gfg duomenys.

  • GAUTI: Prašymas visiems studentams.
Prašymas
GET:/api/studentai
  • PASTABA: Duomenų paskelbimo / kūrimo / įterpimo užklausa

Prašymas

POST:/api/studentai

{vardas:Raj}

  • PUT arba PATCH: Duomenų atnaujinimo užklausa id=1

Prašymas

PUT arba PATCH:/api/studentai/1

{vardas:Raj}

  • IŠTRINTI: Prašymas ištrinti id=1 duomenis
Prašymas
IŠTRINTI:/api/studentai/1

„RESTful“ žiniatinklio paslaugos yra labai populiarios, nes jos yra lengvos, lengvai keičiamos ir prižiūrimos bei labai dažnai naudojamos kuriant API žiniatinklio programoms.