soap vs rest difference
Ovaj vodič objašnjava SOAP i REST usluge na Parasoftu. Naučit ćete bez državljanstva vs državnim, sigurnost SOAP-a nad OSTALIM, zašto je REST brži od SOAP-a itd.:
Također smo pokrili zahtjeve za uzorke i odgovore SOAP-a i REST-a u XML i JSON formatu.
Pred kraj ovog vodiča moći ćete napisati svoje JSON programe koji su objašnjeni različitim primjerima programa zajedno s konceptom JSON Path ili JSON Evaluator i Document Keys od Parasofta.
=> Ovdje pogledajte kompletnu seriju vodiča SOATest .
Ovaj vodič također opisuje različite glagole koji se koriste u Parasoftu ili SOAtest Automation Tool, zajedno s primjerima programiranja i njihovim odgovarajućim HTTP kodom odgovora i upotrebom. Moći ćete razumjeti kako na bolji način izgraditi svoje SOAtest apartmane koji će biti detaljno obrađeni u našem nadolazećem vodiču.
Možete i pokušati odgovoriti na pitanja koja su navedena na dnu nakon što prođete kroz ovaj vodič.
Što ćete naučiti:
Što je SOAP usluga?
SOAP je skraćenica od Simple Object Access Protocol . Protokoli nisu ništa drugo do skup pravila koja definirate za test. To je protokol 'punog stanja', za razliku od REST-a koji uključuje upotrebu WSDL-a (jezika za opis web-usluga) za opis web-usluga.
Svi zahtjevi i odgovori u SOAP-u rade se u XML-u (proširivi jezik za označavanje). SOAP je sigurniji u usporedbi sa svojim kolegama. Ne pruža nikakvu neovisnu obradu za različite metode i to je razlog zašto se naziva protokolom 'punog stanja'.
Zašto je SOAP sigurniji?
Iako i SOAP i REST podržavaju SSL (Secure Socket Layer) za zaštitu podataka, tijekom podnošenja zahtjeva SOAP podržava sigurnost web usluga (također poznatu kao WS-Security ili WSS) za zaštitu na razini poduzeća koja u REST uslugama nema. Sigurnost web usluga (WS-Security, WSS) je proširenje SOAP-a za primjenu sigurnosti na web usluge.
Tijelo zahtjeva za uzorak SOAP-a
Parasoft TUP true
Imamo XML koji će se koristiti kao korisni teret za formiranje tijela zahtjeva SOAP-a. Bilo koji XML jezik sastoji se od verzije koja bi trebala biti definirana na vrhu skripte. Ne morate se brinuti o oznakama, jer vam sve XML datoteke omogućuju stvaranje oznaka, za razliku od HTML-a.
Ako pokušavate generirati tokene putem SOAP zahtjeva, tada jednostavno morate navesti potrebne parametre kao što su korisnički ID i lozinka, zajedno s URL-om koji udarate u tijelu zahtjeva ili XML-u pod vašim prilagođenim oznakama.
Slijedi snimka zaslona preglednika prometa Parasofta (komponenta koja vam omogućuje da vidite rezultat).
(slika izvor )
Istaknute značajke SOAP-a
U nastavku su navedene neke od istaknutih značajki SOAP-a:
# 1) Bilo koja SOAP omotnica može se koristiti u REST uslugama poput generiranog tokena, ali ne i obrnuto. To znači da ako ste kreirali token pomoću SOAP-a, taj se token može koristiti u REST-u (pod odjeljkom HTTP upravitelja zaglavlja => Autorizacija). Ali ne možete koristiti OSTALE omotnice u SOAP zahtjevu.
#dva) SOAP je sigurniji od REST-a jer koristi WS-Security za prijenos zajedno sa Secure Socket Layer-om.
# 3) SOAP koristi XML samo za zahtjev i odgovor. Ne koristi se običnim tekstom ili bilo kojim drugim.
# 4) SOAP je pun države (nije bez državljanstva) jer uzima cijeli zahtjev u cjelini, za razliku od REST-a koji pruža neovisnu obradu različitih metoda. U SOAP-u nema nezavisne obrade.
Što je REST usluga?
REST je skraćenica od Reprezentativni državni transfer . REST je arhitektura „bez državljanstva“ koja uključuje više metoda ili glagola tijekom rješavanja zahtjeva i odgovora.
Svi zahtjevi i odgovori u REST-u rade se u XML-u, JSON-u (JavaScript Object Notation) ili običnom tekstu. REST je brži od SOAP-a zbog sudjelovanja JSON-a (koji je lagan) u zahtjevu / korisnom opterećenju REST-a.
Svaka metoda obrađuje se neovisno u REST-u, što je razlog zašto se naziva arhitektura „bez državljanstva“.
Zašto je OSTALO brže?
Priroda odmora bez državljanstva čini ga bržim od sapuna. Svaki se glagol obrađuje neovisno i koristi JSON objekt koji je mnogo brži prilikom prelaska na neko određeno polje u dokumentu koji sadrži više od milijun zapisa.
Prije nego započnemo s metodama koje se koriste u REST-u, moramo znati o JSON-u i JSON-putu jer je to najčešći format prijenosa podataka u REST-u.
Što je JSON?
JSON je skraćenica od JavaScript Object Notation. To je format koji se obično koristi u REST klijentu.
Samoopisiva je i lako razumljiva. Jednostavno morate predati svoj JSON u odjeljak korisnog tereta REST metode. To je lagan format razmjene podataka koji omogućuje uslugama REST da budu mnogo brže čak i ako imaju posla s milijun zapisa.
Programiranje s JSON-om
Ispod je primjer programa sa samo jednim dokumentom nazvanim 'telefon'.
(slika izvor )
Ovo je moj primjer JSON programa u kojem moram dohvatiti vrijednost svog tipa telefona. U takvom scenariju možete koristiti dvije tehnike za prolazak kroz to polje. Jedan je prema JSON Path, a drugi je prema ključu dokumenta.
# 1) Dok se bavite JSON stazom, možete koristiti dvije metode:
$.phone(:1).type $('phone')(':1')('type')
#dva) Kako Parasoft ne dopušta JSON putanju, možemo koristiti ključ dokumenta koji je pomalo jednostavan pri prelasku. Samo dodajte ključ dokumenta zajedno s URL-om na kartici resursa kao
phone.type
Jednostavno morate kliknuti gumb za dodavanje na donjem snimku zaslona i unijeti phone.type i gotovi ste.
U donjem primjeru morate prijeći zadnji element polja lokacije koji je niz. Stoga, pokušajte za to napisati JSON put.
pitanja razgovora s domenom poslovnog analitičara
Kao što možete vidjeti u rednim brojevima 37 i 39 (gore), napisana su dva različita JSON puta za isto putovanje do posljednjeg elementa polja lokacije. Na isti način, možete stvoriti svoj JSON (složeni ugniježđeni dokument) i pokušati napisati JSON put za vježbanje.
PROIZLAZITI:
(„Helsingborg“)
Možete isprobati koliko god želite JSON-a, na otvorenom web mjestu pod nazivom JSON mrežni ocjenjivač
Metode / Glagoli u uslugama odmora
REST usluge pružaju širok raspon metoda koje su također poznate kao glagoli za različite vrste zahtjeva. To uglavnom uključuju OBJAVITE, STAVITE, ZAPAČITE, DOBITE, OBRIŠITE, PRILAGOĐITE .
OBJAVI
Ova metoda odgovorna je za stvaranje zapisa. Nakon uspješnog izvršavanja, HTTP kod odgovora je 201.
Ispod je uzorak JSON koji ilustrira POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Kad proslijedimo ovaj JSON kao tijelo zahtjeva, on će stvoriti dokument s 201 kodom odgovora.
DOBITI
Ovo je druga metoda ili glagol koji se koristi za dohvaćanje dokumenta ili zapisa. Nakon uspješnog izvršavanja GET-a, odgovor će biti 200. To ne sadrži tijelo zahtjeva ili korisni teret.
Sve što morate učiniti je samo pritisnuti isti URL pomoću GET metode na kartici resursa Parasofta koristeći ključ dokumenta kao 'Test'. Čak i ako ne proslijedite nijedan ključ dokumenta, dohvatit će cijeli dokument.
Recimo da ključ dokumenta prosljeđujemo kao 'Test.Test2', a zatim će mi donijeti sljedeći zapis.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
STAVITI
Ova se metoda koristi za ažuriranje dokumenta i nakon uspješnog izvršavanja ima kod odgovora 200.
Iako se POST i PUT ne razlikuju puno i sve ovisi o programeru kako žele kodirati. Programeri uglavnom koriste metodu PUT kada žele ažurirati neku vrijednost polja.
Na primjer: Ako želimo promijeniti neku vrijednost u gore navedenom JSON dokumentu koji je umetnuo POST, tada ćemo proslijediti cijelo tijelo zahtjeva s ažuriranom vrijednošću pomoću metode PUT.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Kada vidimo odgovor u pregledniku prometa, tada će se vrijednost polja ažurirati kao
„Platforma“: „Ažurirani sustav Windows“
LIJEK (PRILAGOĐEN)
Ovo je još jedna metoda koja se koristi isključivo za ažuriranje zapisa. Većina programera preferira ovu metodu nego metodu PUT jer ona najbolje koristi resurse. Ako želite ažurirati neku vrijednost polja u dokumentu, sve što morate učiniti je proslijediti samo to polje s ažuriranom vrijednošću zapisa.
Recimo, ako želimo ažurirati POST zapis, tada ćemo koristiti samo sljedeće tijelo zahtjeva dok koristimo PATCH.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Kao što ste primijetili, ovdje nismo prošli vrijednosti polja 'Test', za razliku od metode PUT. Uspješno izvršenje dobit će vam kôd odgovora 200 ili 201.
IZBRISATI
Kao što samo ime govori, izbrisat će zapis poznat i kao preferencije. Ovo ne sadrži niti jedno tijelo zahtjeva poput GET-a, a često ima odgovor kao 203 (bez sadržaja). Ako trebamo izbrisati cijeli dokument, tada u gore navedenom JSON-u, tada ćemo samo predati ključ dokumenta kao.
Test
Ovime ćete izbrisati cijeli dokument. Ako uopće ne proslijedimo ključ dokumenta, tada će i izbrisati cijeli dokument.
Zamke intervjuera
P # 1) Većina anketara pokušava zbuniti kad vas pitaju jesu li uspješno izbrisali kôd odgovora na brisanje kao 200 umjesto kao 204. U takvoj situaciji, što da radim? Trebam li prijaviti grešku?
Odgovor: Odgovor na gornje pitanje je jednostavan. Ne morate podizati grešku. Umjesto toga, možete razgovarati s programerom ili pokušati promatrati drugi odgovor na operaciju brisanja. Kod odgovora 200 uvijek označava uspješnu operaciju, a 204 je specifičan za DELETE. Možda postoji šansa da su programeri upotrijebili 200 za sve uspješne operacije.
P # 2) Kako mogu provjeriti jesu li određene vrijednosti polja točne ili ne bez upotrebe baze podataka u JSON-ovom zahtjevu od milijun redaka koda?
Odgovor: Odgovor je slanjem ključa dokumenta u operaciji GET. URL uzorka izgledat će kako je prikazano u nastavku:
https://resource-name.com/context-key/document-key
U gornjem URL-u vaš će ključ konteksta jedinstveno dohvatiti taj određeni JSON od 1 milijun zapisa, a ključ dokumenta dobit će određeno polje-vrijednost u tom zapisu.
P # 3) Ako ne navedem nijedno ime dokumenta na vrhu svog JSON-a, što bih trebao dodati kao ključ dokumenta za dohvaćanje cijelog dokumenta?
Odgovor: Možete proći bilo što. Da točno. Ako nemate navedeno ime dokumenta i ako u vašem dokumentu postoje samo polja i vrijednosti, tada možete proslijediti bilo koju vrijednost niza. Taj će se niz automatski tretirati kao vaš ključ dokumenta.
Sažetak
Do sada biste trebali imati pojma o web uslugama SOAP i REST, njihovoj strukturi, glavnim razlikama između njih, njihovim značajkama i upotrebi.
Štoviše, u ovom smo tutorijalu pokrili najčešće / najvažnije metode (poznate i kao glagoli) koje se koriste u REST uslugama zajedno s JSON programiranjem i JSON stazom u svrhe evaluacije.
PREV Vodič | SLJEDEĆA Vodič
Preporučena literatura
- Vodič za JSON: Uvod i cjelovit vodič za početnike
- Jednostavan pristup za XML testiranje baze podataka
- 10 najboljih alata za testiranje API-ja u 2021. godini (SOAP i REST API alati za testiranje)
- 15+ vodiča za SoapUI: Najbolji alat za testiranje API-ja za web usluge
- 7 Važne značajke SoapUI i SoapUI Pro - Vodič 2
- Kako stvoriti lažnu uslugu i dinamički odgovor u SoapUI
- Kako stvoriti REST projekt u SoapUI Pro: Vodič br. 13
- Korak po korak Postupak preuzimanja i instalacije SoapUI - Vodič za SoapUI br. 3
- Vrh 45 pitanja i odgovora za internetske usluge (RESTful, SOAP, sigurnosna pitanja)