rest api tutorial rest api architecture
U ovom vodiču naučit ćemo o REST API-ju, web uslugama, arhitekturi REST API-ja, ograničenjima REST API-ja i kako testirati API pomoću POSTMAN-a:
Preduvjeti: Osnovno znanje o web uslugama.
Ček ovdje kako biste stekli jasno razumijevanje web usluga.
Što ćete naučiti:
Što je REST API?
API je jednostavno sučelje koje softverske komponente koriste za međusobnu komunikaciju. Usluga je funkcija koja je dobro definirana, samostalna i ne ovisi o bilo kojoj drugoj usluzi.
Web usluga vrsta je API-ja, gotovo svi oni rade putem HTTP-a. Kada se Web API razvije pomoću REST arhitekture, tada se naziva REST Web API.
Od sada postoje dvije vrste web usluga,
- SAPUN
- ODMOR
Razlika između sapuna i ostatka
SAPUN | ODMOR |
---|---|
Za slanje podataka u tijelu zahtjeva možemo koristiti samo XML format | Možemo imati XML, JSON itd. Format za slanje zahtjeva. |
To je protokol | To je stil arhitekture i neovisan o bilo kojem protokolu, REST može koristiti SOAP web usluge |
To je skraćenica od Simple Object Access Protocol | Kratica je Reprezentativni državni prijenos |
Koristi uslužna sučelja za izlaganje poslovne logike. | Koristi URI za izlaganje poslovne logike. |
SOAP ima stroge standarde kojih se treba pridržavati. | Ne spominje se takav strogi standard kojeg bi se trebao pridržavati REST. Međutim, korisnik može slijediti nekoliko standarda dok razvija web uslugu pomoću REST-a. |
Zahtijeva veću propusnost. | Lagan je. |
Može definirati vlastitu sigurnost. | REST nasljeđuje sigurnosne mjere od transporta. |
Najbolji primjer je Google, AMAZON | Najbolji primjer su YAHOO, LINKEDIN, AMAZON |
SOAP koristi HTTP, SMTP itd. Protokol | OSTALO se oslanja samo na HTTP. |
Pravila za vezivanje poruka, operacija itd. Napisana su WSDL-om | REST slijedi WADL format za opisivanje funkcionalnosti koje nude web usluge |
To je standardizirano. | Usluge odmora nisu standardizirane. |
Zahtijeva više vremena za učenje zbog postojećih pravila, obvezivanja itd. | Zahtijeva manje vremena za učenje zbog svoje jednostavnosti. |
Zašto odabrati ODMOR umjesto sapuna?
Ispod točaka objašnjavaju se razlozi za odabir REST preko SOAP-a.
- Vrlo je dobar za razvoj i testiranje web API-ja.
- REST zahtijeva manju širinu pojasa.
- AJAX možemo koristiti za web API-je temeljene na REST-u.
- To zahtijeva manje raščlanjivanje troškova.
- Veličina korisnog tereta koju je stvorio JSON manje je veličine.
Puno je klijenata / alata dostupnih putem weba, što nam omogućuje upotrebu RESTful web usluga.
Oni su:
- Poštar
- Klijent za napredni odmor
- DHC klijent za odmor
- Podnositelj zahtjeva
- Nesanica
- Utvrdivo
- Poster
Zašto poštar?
- Prikazuje sve dostupne opcije.
- Poštar ima dodatnu značajku (poznatu kao Trkač).
- Korisničko sučelje i jednostavno za upotrebu.
- Veća grupa / članovi zajednice.
REST API Arhitektura
To je uglavnom arhitektura Mreže u softverskom arhitektonskom stilu. Namijenjen je distribuiranim hipermedijskim sustavima. API RESTful izravno koristi prednosti HTTP metodologija definiranih protokolom RFC 2616.
Malo definicija
VATRA označava sučelje za programiranje aplikacija. To je skup definicija potprograma, protokola i alata za izgradnju aplikacijskog softvera.
Web usluge su neki programski kodovi koji sadrže podatke / ugrađene metode. Njih organizacija raspoređuje putem Interneta za komunikaciju s korisnicima, programima trećih strana itd. Za komunikaciju poruka uglavnom se XML koristi kao sustav za razmjenu poruka. XML jednostavno kodira svu komunikaciju između korisnika i aplikacija.
HTTP 'Protokol za prijenos hiperteksta', koji koristi World Wide Web. Definira kako se poruke formatiraju i prenose te koje akcije web poslužitelji i preglednici poduzimaju kao odgovor na razne naredbe.
Arhitektonski stil, njih karakteriziraju značajke koje se koriste za stvaranje strukture, pa čak i čine je jedinstvenom. Stilovi su dvije vrste: Slojevito i Uniform sučelje.
MRZITI : Također poznat kao jedinstveni identifikator resursa. Identificira resurs (tekstualni dokument, slikovnu datoteku itd.).
URL: Također poznat kao Uniform Resource Locator. To je podskup URI-ja koji uključuje mrežno mjesto.
URNA : Poznato i kao Uniform Resource Name podskup je URI-a koji uključuju ime unutar određenog prostora, ali bez mjesta.
Na primjer,
http://elearning.com/amazon/restapi.html#books
Evo, u gornjem primjeru
MRZITI : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URNA : elearning.com/amazon/restapi.html#posts
runtime polimorfizam u c ++
Stoga je URL URI koji identificira resurs, a također pruža sredstva za pronalaženje resursa opisujući način pristupa.
Dakle, svaki URL može biti URI, ali obrnuto nije istina.
Usluga RESTful izložena je putem jedinstvenog lokatora resursa (URL). Ovo je logično ime koje odvaja identitet resursa od onoga što je prihvaćeno ili vraćeno.
Primjer REST arhitekture:
Ograničenja API-ja REST
Za API sučelje se kaže da je RESTful ako ispunjava sljedeća ograničenja:
- Jedinstveno sučelje: Znači, bez obzira na bilo kojeg klijenta kojeg koristimo, osnovni koncept implementacije i korištenja REST usluga ostat će isti. Svi razvijeni REST API-i trebali bi imati zajednički pristup razvoju.
- Bez državljanstva: To znači da nijedna sesija neće biti pohranjena. Dakle, poslužitelj neće pohraniti nijedan HTTP zahtjev koji je poslao klijent. Stoga je za poslužitelj svaki HTTP zahtjev novi zahtjev. Bez obzira na to koliko je puta postavljen zahtjev ili je kupac jedinstven ili nije.
- Može se predmemorirati: Keširanje znači kako se čestim podacima i odgovorima pristupa iz predmemorije umjesto s poslužitelja. Koncept predmemoriranja primjenjiv je tijekom slanja zahtjeva klijenta. Tako se poboljšanje performansi vrši na strani klijenta.
- Klijent-poslužitelj: Poslužitelj i klijenti neovisni su jedni od drugih u smislu implementacije. Klijent treba poslati samo URI zahtjeva zajedno s autentifikacijom ili bez nje. Tada poslužitelj poduzima ostatak koraka, to je odgovor.
- Slojeviti sustav: Klijent može poslužitelju poslati samo zahtjev kao URI resursa. Ali onda, prije nego što se zahtjev pošalje na poslužitelj, postoji REST API, koji nam pruža slojevitu arhitekturu sustava. To znači da API možemo rasporediti na jednom poslužitelju, podatke na drugom poslužitelju i provjeru autentičnosti na drugom poslužitelju.
- Kôd na zahtjev (neobavezno): Ponekad klijentu treba više od samog odgovora. REST API omogućuje nam slanje izvršnog koda kao odgovora (ovaj izvršni kôd može biti widget ili bilo koja kontrola). Međutim, potpuno je neobavezno jesmo li omogućili / implementirali ovu značajku.
Još nekoliko terminologija povezanih s Rest API-jem:
Krajnja točka : To je referenca na URL koji prihvaća web zahtjeve. Web adresa se može adresirati pomoću reference krajnje točke.
Na primjer, Http: // {Domena_URL} //librarygr/libraries.xml
Resursi : To je podskup krajnje točke. Krajnje točke obično izlažu neke predmete koji se mogu potrošiti putem web usluga. Resursi su posebno onaj dio objekta preko URI-ja krajnje točke.
Na primjer, Http: // {Domain_URL} // api / pg_library / ornithology / swan
Korisni teret : Korisni teret je informacija koja se šalje tijekom izvođenja POST ili PUT operacija. To su podaci navedeni u tijelu HTTP zahtjeva.
Korisni tereti se šalju u JSON formatu, Na primjer,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Parametri :
Parametre možemo prenositi na dva načina.
Parametri upita : Korisno za pristup parovima ključ / vrijednost u nizu upita URL-a (dio nakon?)
Najbolji primjer
http://jsonplaceholder.typicode.com/posts/?id=3
Parametri puta: Korisno je podudariti dio URL-a kao parametar. Informacije možemo poslati kao parametar puta na sljedeći način: Podaci obrasca, x-www-obrazac-urlenkodirani, sirovi, binarni.
Najbolji primjer:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Što je POŠTAN?
POSTMAN je OSTALI klijent, jednostavno aplikacija koja dolazi s preglednikom Chrome. Razvija se, imajući na umu programerima da olakšaju testiranje API poziva. Ima vlastiti GUI za slanje API zahtjeva i čitanje API odgovora.
Testiranje REST API-a možemo obaviti kako ručno, tako i automatizacijom.
U sljedećem odjeljku naučit ćemo kako ručno testirati web API pomoću POSTMAN klijenta.
Kako testirati API s poštarom?
Montaža
Moramo pristupiti Chrome web trgovina . U pretraživaču Chrome potražite Poštara. Klik ovdje da biste ga dodali na gumb Chrome.
Nakon što se uspješno instalira, POSTMAN možemo pronaći u aplikaciji Chrome. Samo kliknite ikonu Poštar da biste otvorili POSTMAN. Bit će potrebno vrijeme da se pokrene prvi put.
Pogledajte sljedeći URL kako biste razumjeli kako se koristi POŠTAR kao alat.
Preduvjeti: Internet veza potrebna je za pristup uslugama raspoređenim putem weba. U slučaju pristupa lokalno raspoređenim uslugama, osigurajte dovoljna prava i privilegije korisniku koji izvršava test preko POSTMAN-a.
Umijski URI resursa: U ovom uputstvu koristit ćemo lažni URI umjesto pravog URI-ja. Pružit će nam odgovore po želji, ali na poslužitelju se ne mogu vršiti promjene.
http://jsonplaceholder.typicode.com
Koraci za navigaciju :
# 1) Nakon pokretanja aplikacije POSTMAN, prema zadanim postavkama možemo vidjeti stranicu Zahtjev.
#dva) Popis API poziva možemo vidjeti klikom na padajući izbornik. Odabirom bilo koje od opcija s padajućeg izbornika možemo zatražiti API poziv poslužitelju.
# 3) Kliknite gumb varijable Okoliš u gornjem desnom kutu POŠTARINA. Postavite određeno okruženje, gdje ćemo testirati. Možemo ga spremiti za buduće izvršenje.
test web stranice na različitim preglednicima na mreži
# 4) Spremljenom okruženju možete pristupiti s padajućeg izbornika Okoliš.
# 5) Dalje, u zadani okvir moramo postaviti URI resursa.
# 6) Kliknite gumb Params pored polja URI resursa da biste odredili parametre upita
# 7) Kliknite karticu Autorizacija, s padajućeg izbornika odaberite vrstu autorizacije i postavite bilo koju željenu autorizaciju ili je jednostavno možete ostaviti kao Bez autorizacije.
# 8) Kliknite karticu Zaglavlja i postavite potrebna zaglavlja poput tipa sadržaja
# 9) Kliknite karticu Tijelo, odaberite radio gumb za podatke o obrascu. Navedite potrebne parametre tijela koje treba poslati zajedno s URL-om zahtjeva
# 10) Kliknite karticu Body, odaberite radio gumb x-www-form-urlencoded. Navedite potrebne parametre tijela koje treba poslati kodirano, zajedno s URL-om zahtjeva
#jedanaest) Kliknite karticu Body, odaberite radio gumb 'raw'. Navedite potrebne parametre tijela koje treba poslati zajedno s URL-om zahtjeva. Ovo je u stvarnom JSON formatu
# 12) Kliknite karticu Body, odaberite radio gumb 'binarni'. Navedite potrebne parametre tijela (obično kao datoteku) koju treba poslati zajedno s URL-om zahtjeva.
# 13) Nakon što smo konfigurirali sve detalje kako je gore navedeno, sada možemo ‘poslati’ zahtjev. Također, zahtjev za slanje možemo spremiti kao request.json (možemo promijeniti naziv zahtjeva).
# 14) Popis podnesenih zahtjeva možemo vidjeti na lijevoj bočnoj ploči ispod kartice Povijest.
#petnaest) Također, sve detalje povezane sa zahtjevom (URI, autorizacija, parametri, tijelo itd.) Možemo spremiti u postojeću zbirku ili novu zbirku. Jednom kada je zahtjev dodan u zbirku, možemo ga izvesti (podijeliti), pa čak i uvesti bilo koju postojeću zbirku.
Zbirku možemo podijeliti kao vezu ili kao timsku biblioteku pomoću jednostavno generiranog koda. Uvijek možemo pokrenuti čitav paket zbirki.
Čak i mi možemo objaviti URL zbirke na webu tako da svatko tko pristupi objavljenom URL-u može pristupiti zbirci i konzumirati usluge koje pruža web API.
Postoji značajka za prijavu na POSTMAN, koja nam omogućuje pohranjivanje povijesti, zbirki, podataka o okolišu, lokalnu pohranu, tako da ih možemo spremiti i pristupiti im bilo gdje, bilo kad, nakon prijave na POSTMAN.
Trkač
Koristi se za pokretanje resursa prisutnih u mapi Zbirke.
Zaključak
Većina tvrtki usvaja REST arhitektonski stil za razvoj / implementaciju web usluga, jer je to jednostavno i user-friendly sučelje, koje zahtijeva manje obuke za postojeće / nove članove projekta. Organizacije razmatraju REST zajedno sa svojim postojećim web uslugama.
kako mogu ažurirati svoj bios windows 10
Također pročitajte = >> Vodič za Flask API
U sljedećem uputstvu, ove REST API serije, razgovarat ćemo o različitim vrstama kodova odgovora, vrstama REST zahtjeva itd.
Preporučena literatura
- Kodovi odgovora na API za odmor i vrste zahtjeva za odmor
- Vodič za POSTMAN: Ispitivanje API-ja pomoću POSTMAN-a
- REST API ispitivanje krastavca korištenjem BDD pristupa
- 10 najboljih alata za testiranje API-ja u 2021. godini (SOAP i REST API alati za testiranje)
- REST API testiranje s Spring RestTemplate i TestNG
- Kako automatizirati zahtjeve za API korištenjem uvjerenih i Jenkinsa
- Kako stvoriti REST projekt u SoapUI Pro: Vodič br. 13
- Vodič za parasoft SOAtest: Alat za testiranje API-ja bez skripti