rest api tutorial rest api architecture
V tej vadnici bomo izvedeli več o API-ju REST, spletnih storitvah, arhitekturi API-ja REST, omejitvah API-ja REST in kako preizkusiti API s pomočjo POSTMAN-a:
Predpogoji: Osnovno znanje spletnih storitev.
Preveri tukaj za jasno razumevanje spletnih storitev.
Kaj se boste naučili:
Kaj je REST API?
API je preprosto vmesnik, ki ga komponente programske opreme uporabljajo za medsebojno komunikacijo. Storitev je funkcija, ki je natančno določena, samostojna in ni odvisna od drugih storitev.
Spletna storitev je vrsta API-ja, skoraj vsi pa delujejo prek HTTP-ja. Ko se spletni API razvije z uporabo arhitekture REST, se imenuje spletni API REST.
Od zdaj obstajata dve vrsti spletnih storitev,
- MILO
- POČITEK
Razlika med MILO IN OSTALIM
MILO | POČITEK |
---|---|
Za pošiljanje podatkov v telesu zahteve lahko uporabimo samo format XML | Za pošiljanje zahteve imamo lahko format XML, JSON itd. |
To je protokol | Je arhitekturni slog in neodvisen od katerega koli protokola, REST lahko uporablja spletne storitve SOAP |
Okrajšava je Simple Object Access Protocol | Okrajšava je Reprezentativni državni prenos |
Za razkritje poslovne logike uporablja vmesnike storitev. | Za razkritje poslovne logike uporablja URI. |
SOAP ima strog standard, ki ga je treba upoštevati. | Tako strog standard ni omenjen, ki bi mu sledil REST. Vendar lahko uporabnik pri razvoju spletne storitve z uporabo REST upošteva nekaj standardov. |
Zahteva več pasovne širine. | Je lahek. |
Lahko določi svojo varnost. | REST podeduje varnostne ukrepe od prevoza. |
Najboljši primer je Google, AMAZON | Najboljši primer so YAHOO, LINKEDIN, AMAZON |
SOAP uporablja protokol HTTP, SMTP itd | REST se zanašajo samo na HTTP. |
Pravila za vezavo sporočil, operacij itd. So napisana v WSDL | REST sledi formatu WADL za opis funkcij, ki jih ponujajo spletne storitve |
Je standardiziran. | Storitve REST niso standardizirane. |
Zahteva več časa za učenje zaradi obstoječih pravil, vezave itd. | Za preprosto učenje potrebuje manj časa. |
Zakaj izbrati počitek namesto mila?
Spodaj so razloženi razlogi, da se odločite za REST prek SOAP.
- To je zelo dobro za razvoj in testiranje spletnih API-jev.
- REST zahteva manj pasovne širine.
- AJAX lahko uporabimo za spletne API-je, ki temeljijo na REST.
- Zahteva manjše razčlenitev režijskih stroškov.
- Velikost koristnega tovora, ki jo je ustvaril JSON, je manjše velikosti.
Po spletu je na voljo veliko strank / orodij, ki nam omogočajo uporabo RESTful spletnih storitev.
To so:
- Poštar
- Napredni odjemalec za počitek
- DHC Rest odjemalec
- Prosilec
- Nespečnost
- Utrdljiv
- Plakat
Zakaj poštar?
- Prikaže vse razpoložljive možnosti.
- Poštar ima dodatno funkcijo (znano kot Tekač).
- Uporabniku prijazen uporabniški vmesnik in enostaven za uporabo.
- Večja skupina / člani skupnosti.
Arhitektura REST API
Gre predvsem za arhitekturo spleta v programskem arhitekturnem slogu. Namenjen je porazdeljenim hipermedijskim sistemom. API RESTful neposredno izkorišča metodologije HTTP, definirane s protokolom RFC 2616.
Nekaj definicij
OGNJ je kratica za Application Programming Interface. Gre za niz definicij podprograma, protokolov in orodij za izdelavo aplikacijske programske opreme.
Spletne storitve so nekatere programske kode, ki vsebujejo podatke / vgrajene metode. Organizacija jih uvede prek interneta za komunikacijo z uporabniki, tujimi aplikacijami itd. Za sporočanje sporočil se večinoma uporablja XML kot sistem za sporočanje. XML preprosto kodira vso komunikacijo med uporabniki in aplikacijami.
HTTP pomeni protokol za prenos hiperteksta, ki ga uporablja svetovni splet. Določa, kako se sporočila formatirajo in prenašajo ter kakšna dejanja izvajajo spletni strežniki in brskalniki kot odgovor na različne ukaze.
Arhitekturni slog, zanje so značilne lastnosti, ki se uporabljajo za ustvarjanje strukture in celo njeno edinstvenost. Slogi sta dve vrsti: večplastni in enoten vmesnik.
SOVRAŽENJE : Znan tudi kot enotni identifikator vira. Določa vir (besedilni dokument, slikovna datoteka itd.).
URL: Znan tudi pod imenom Uniform Resource Locator. Je podskupina URI-jev, ki vključuje omrežno lokacijo.
URN : Znano tudi pod imenom Uniform Resource Name je podmnožica URI-jev, ki vključujejo ime znotraj določenega prostora, ne pa tudi lokacije.
Na primer,
http://elearning.com/amazon/restapi.html#books
Tukaj, v zgornjem primeru
SOVRAŽENJE : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URN : elearning.com/amazon/restapi.html#posts
vprašanja za vhodni nivo qa tester
URL je torej URI, ki identificira vir in ponuja tudi način iskanja vira z opisom načina dostopa do njega.
Vsak URL je torej lahko URI, vendar obratno ne drži.
Storitev RESTful je izpostavljena prek enotnega lokatorja virov (URL). To je logično ime, ki ločuje identiteto vira od tega, kaj je sprejeto ali vrnjeno.
Vzorec REST arhitekture:
Omejitve API-ja REST
Vmesnik API naj bi bil RESTful, če izpolnjuje naslednje omejitve:
- Enotni vmesnik: Pomeni, ne glede na katero koli stranko, ki jo uporabljamo, bo osnovni koncept izvajanja in uporabe storitev REST ostal enak. Vsi razviti API-ji REST bi morali imeti skupen pristop k razvoju.
- Državljani: To pomeni, da nobene seje ni treba shraniti. Torej strežnik ne bo shranil nobene zahteve HTTP, ki jo pošlje odjemalec. Zato je za strežnik vsaka zahteva HTTP nova zahteva. Ne glede na to, kolikokrat je podana zahteva ali je stranka edinstvena ali ne.
- Predpomnilnik: Predpomnjenje pomeni, kako pogosto do podatkov in odzivov dostopate iz predpomnilnika namesto iz strežnika. Koncept predpomnjenja se uporablja med pošiljanjem zahteve stranke. Izboljšanje učinkovitosti je torej na strani odjemalca.
- Stranka-strežnik: Strežnik in odjemalci so neodvisno drug od drugega v smislu izvedbe. Naročnik mora poslati samo URI zahteve skupaj z overitvijo ali brez njega. Nato strežnik izvede preostali korak, to je odgovor.
- Večplastni sistem: Naročnik lahko strežniku pošlje samo zahtevo kot URI vira. Potem pa pred pošiljanjem zahteve strežniku obstaja REST API, ki nam zagotavlja večplastno sistemsko arhitekturo. To pomeni, da imamo lahko API v enem strežniku, podatke v drugem strežniku in preverjanje pristnosti v drugem strežniku.
- Koda na zahtevo (neobvezno): Včasih stranka potrebuje več kot le odziv. REST API nam omogoča, da kot odgovor pošljemo izvršljivo kodo (ta izvršljiva koda je lahko pripomoček ali kateri koli nadzor). Vendar je povsem neobvezno, ali smo to funkcijo omogočili / izvedli.
Nekaj več terminologij, povezanih z Rest API:
Končna točka : To je sklic na URL, ki sprejema spletne zahteve. Spletna storitev je naslovljiva z uporabo sklica na končno točko.
Na primer, Http: // {Domain_URL} //librarygr/libraries.xml
Viri : Je podskupina končne točke. Končne točke običajno izpostavijo nekatere predmete, ki jih lahko porabijo spletne storitve. Viri so natančno tisti del predmeta prek URI končne točke.
Na primer, Http: // {Domain_URL} // api / pg_library / ornitologija / labod
programska oprema, napisana v jeziku c ++
Nosilnost : Koristni tovor je informacija, ki se pošlje med izvajanjem POST ali PUT operacije. To so podatki, navedeni v telesu zahteve HTTP.
Tovor se pošlje v obliki JSON, Na primer,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Parametri :
Parametre lahko posredujemo na dva načina.
Parametri poizvedbe : Uporabno za dostop do parov ključ / vrednost v nizu poizvedbe URL-ja (del za?)
Najboljši primer
http://jsonplaceholder.typicode.com/posts/?id=3
Parametri poti: Koristno je, da se del URL-ja ujema s parametrom. Informacije lahko kot parameter poti pošljemo na naslednji način: Form-data, x-www-form-urlencoded, raw, binarni.
Najboljši primer:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Kaj je POSTMAN?
POSTMAN je REST odjemalec, preprosto aplikacija, ki je priložena brskalniku Chrome. Razvija se ob upoštevanju razvijalcev, da bi olajšali testiranje klicev API. Ima svoj GUI za pošiljanje zahtev API in branje odzivov API.
Testiranje API-ja REST lahko izvedemo tako ročno kot avtomatizirano.
V naslednjem poglavju bomo izvedeli, kako ročno preizkusiti spletni API z odjemalcem POSTMAN.
Kako preizkusiti API s poštarjem?
Namestitev
Dostopiti moramo do Spletna trgovina Chrome . V brskalniku Chrome poiščite Poštarja. Kliknite tukaj , da ga dodate v gumb Chrome.
Ko je uspešno nameščen, lahko v aplikaciji Chrome najdemo POSTMAN. Samo kliknite ikono poštarja, da odprete POSTMAN. Za prvi zagon bo potreben čas.
Glejte naslednji URL, da boste razumeli, kako uporabljati POŠTAR kot orodje.
Predpogoji: Za dostop do spletnih storitev je potrebna internetna povezava. V primeru dostopa do storitev, razporejenih lokalno, zagotovite zadostne pravice in pravice za uporabnika, ki izvaja preizkus prek POSTMAN-a.
Umični URI vira: V tej vadnici bomo namesto pravega URI uporabili navidezni URI. Dala nam bo odgovore po želji, vendar strežnika ni mogoče spreminjati.
http://jsonplaceholder.typicode.com
Koraki za krmarjenje :
# 1) Ko se aplikacija POSTMAN zažene, lahko privzeto vidimo stran z zahtevami.
#two) Seznam klicev API lahko vidimo s klikom na spustni meni. Z izbiro katere koli možnosti iz spustnega menija lahko zahtevamo klic API strežniku.
# 3) Kliknite gumb Spremenljivka okolja v zgornjem desnem kotu POŠTARJA. Določite določeno okolje, kjer bomo testirali. Lahko ga shranimo za prihodnjo izvedbo.
# 4) Shranjeno okolje je dostopno v spustnem meniju Okolje.
# 5) Nato v določeno polje nastavimo URI vira.
# 6) Kliknite gumb Params poleg polja URI vira, da določite parametre poizvedbe
promet z brezžičnim omrežjem je mogoče zajeti z vohali
# 7) Kliknite zavihek Pooblastilo, v spustnem meniju izberite vrsto dovoljenja in nastavite želeno dovoljenje ali pa ga preprosto pustite kot Brez dovoljenja.
# 8) Kliknite zavihek Glave in nastavite zahtevane glave, kot je vrsta vsebine
# 9) Kliknite jeziček Body, izberite izbirni gumb za podatke o obrazcih. Navedite zahtevane parametre telesa, ki jih je treba poslati skupaj z URL-jem zahteve
# 10) Kliknite jeziček Body, izberite izbirni gumb x-www-form-urlencoded. Navedite zahtevane parametre telesa, ki jih je treba poslati kot kodirane, skupaj z URL-jem zahteve
#eleven) Kliknite jeziček Body, izberite izbirni gumb 'raw'. Navedite zahtevane parametre telesa, ki jih je treba poslati skupaj z URL-jem zahteve. To je v dejanski obliki JSON
# 12) Kliknite jeziček Body, izberite izbirni gumb 'binarni'. Navedite zahtevane parametre telesa (običajno kot datoteko), ki jih je treba poslati skupaj z URL-jem zahteve.
# 13) Ko smo konfigurirali vse podrobnosti, kot je določeno zgoraj, lahko zdaj zahtevo 'pošljemo'. Zahtevo za pošiljanje lahko shranimo tudi kot request.json (lahko spremenimo ime zahteve).
# 14) Seznam vloženih zahtev lahko vidimo na levi strani pod zavihkom Zgodovina.
# petnajst) Prav tako lahko v obstoječo zbirko ali novo zbirko shranimo vse podrobnosti, povezane z zahtevo (URI, avtorizacija, parametri, telo itd.). Ko je prošnja dodana v zbirko, jo lahko izvozimo (delimo) in celo uvozimo katero koli obstoječo zbirko.
Zbirko lahko delimo kot povezavo ali kot skupinsko knjižnico s preprosto ustvarjeno kodo. Vedno lahko zaženemo celotno zbirko zbirk.
Tudi URL zbirke lahko objavimo v spletu, tako da lahko vsakdo, ki dostopa do objavljenega URL-ja, dostopa do zbirke in uporablja storitve spletnega API-ja.
Obstaja funkcija za prijavo v POSTMAN, ki nam omogoča shranjevanje zgodovine, zbirk, okoljskih podatkov, lokalnega pomnilnika, tako da jih lahko shranimo in do njih dostopamo kjer koli in kadar koli po prijavi v POSTMAN.
Tekač
Uporablja se za zagon virov v mapi Zbirke.
Zaključek
Večina podjetij sprejema arhitekturni slog REST za razvoj / izvajanje spletnih storitev, ker gre za preprost in uporabniku prijazen vmesnik, ki zahteva manj usposabljanja za obstoječe / nove člane projekta. Organizacije razmišljajo o REST-u skupaj s svojimi obstoječimi spletnimi storitvami.
Preberite tudi = >> Vadnica za API Flask
V naslednji vadnici te serije REST API bomo razpravljali o različnih vrstah odzivnih kod, vrstah zahtev REST itd.
Priporočeno branje
- Kode odzivov API za počitek in vrste zahtev za počitek
- Vadnica za POSTMAN: Testiranje API-jev z uporabo POSTMAN-a
- Testiranje REST API s kumaricami z uporabo pristopa BDD
- 10 najboljših orodij za testiranje API-jev v letu 2021 (orodja za testiranje API-jev SOAP in REST)
- Preizkušanje API-ja REST s pomočjo Spring RestTemplate in TestNG
- Kako avtomatizirati zahteve za API z uporabo Rest Assured in Jenkinsa
- Kako ustvariti projekt REST v programu SoapUI Pro: Vadnica št. 13
- Vadnica za parasoft SOAtest: orodje za preizkušanje API-jev brez skript