soap vs rest difference
Tento výukový program vysvetľuje služby SOAP a REST v službe Parasoft. Dozviete sa bezstavové vs stavové, bezpečnosť SOAP cez REST, prečo je REST rýchlejší ako SOAP, atď .:
Pokryli sme tiež vzorové žiadosti a odpovede SOAP a REST vo formáte XML a JSON.
Na konci tohto tutoriálu budete môcť písať svoje programy JSON, ktoré boli vysvetlené na rôznych príkladoch programov, spolu s koncepciou JSON Path alebo JSON Evaluator a Document Keys spoločnosti Parasoft.
=> Kompletnú sériu tutoriálov SOATest nájdete tu .
Tento výukový program tiež popisuje rôzne slovesá, ktoré sa používajú v Parasoft alebo SOAtest Automation Tool, spolu s príkladmi programovania a ich príslušným kódom odpovede HTTP a zvykmi. Budete schopní pochopiť, ako lepšie zostaviť vaše SOAtest Suites, čomu sa podrobne budeme venovať v našom budúcom tutoriáli.
Po absolvovaní tohto tutoriálu môžete tiež skúsiť odpovedať na otázky uvedené v dolnej časti.
Čo sa dozviete:
Čo je služba SOAP?
SOAP znamená Simple Object Access Protocol . Protokoly nie sú ničím iným ako súborom pravidiel, ktoré definujete pre Test. Je to protokol „v stave úplného“, na rozdiel od REST, ktorý na opis webových služieb zahŕňa použitie WSDL (jazyk popisu webových služieb).
Všetky požiadavky a odpovede v SOAP sa vykonávajú v XML (Extensible Markup Language). SOAP je v porovnaní so svojim náprotivkom bezpečnejší. Neposkytuje žiadne nezávislé spracovanie pre rôzne metódy, a preto sa nazýva protokol „plný stav“.
Prečo je SOAP bezpečnejší?
Aj keď protokoly SOAP aj REST podporujú ochranu údajov SSL (Secure Socket Layer), pri zadávaní požiadavky podporuje protokol SOAP zabezpečenie webových služieb (tiež známe ako WS-Security alebo WSS) pre ochranu na úrovni podniku, ktoré v službách REST absentuje. Zabezpečenie webových služieb (WS-Security, WSS) je rozšírením protokolu SOAP na zabezpečenie zabezpečenia webových služieb.
Vzor tela žiadosti o SOAP
Parasoft TUP true
Máme súbor XML, ktorý sa použije ako užitočné zaťaženie na vytvorenie tela žiadosti protokolu SOAP. Akýkoľvek jazyk XML sa skladá z verzie, ktorá by mala byť definovaná v hornej časti skriptu. O značky sa nemusíte starať, pretože na rozdiel od HTML vám všetky značky XML umožňujú vytvárať ich.
Ak sa pokúšate generovať tokeny prostredníctvom požiadavky SOAP, musíte zadať potrebné parametre, ako napríklad ID používateľa a heslo, spolu s adresou URL, ktorú zasielate do tela žiadosti, alebo XML pod vlastnými značkami.
Nižšie je uvedená snímka obrazovky prehliadača premávky Parasoftu (komponent, ktorý vám umožní vidieť výsledok).
(obrázok zdroj )
Vynikajúce vlastnosti protokolu SOAP
Nižšie sú uvedené niektoré z významných funkcií protokolu SOAP:
# 1) V službách REST je možné použiť ľubovoľnú obálku SOAP, napríklad vygenerovaný token, ale nie naopak. To znamená, že ak ste vytvorili token pomocou SOAP, potom sa tento token môže použiť v REST (v sekcii správcu hlavičiek HTTP => Autorizácia). V žiadosti SOAP však nemôžete použiť obálky REST.
#dva) SOAP je bezpečnejší ako REST, pretože na prenos používa protokol WS-Security spolu s protokolom Secure Socket Layer.
# 3) SOAP používa iba XML pre požiadavku a odpoveď. Nepoužíva obyčajný text ani nič iné.
# 4) SOAP je stavový (nie bez štátnej príslušnosti), pretože berie celú požiadavku ako celok, na rozdiel od REST, ktorý poskytuje nezávislé spracovanie rôznych metód. V SOAP neexistuje nezávislé spracovanie.
Čo je služba REST?
REST znamená Reprezentatívny štátny prevod . REST je architektúra bez štátnej príslušnosti, ktorá pri riešení požiadaviek a odpovedí zahŕňa viac metód alebo slovies.
Všetky žiadosti a odpovede v REST sa vykonávajú v XML, JSON (notácia objektu JavaScript) alebo obyčajný text. REST je rýchlejší ako SOAP z dôvodu zapojenia JSON (ktorý je ľahký) do požiadavky / užitočného zaťaženia REST.
Každá metóda je spracovávaná nezávisle v REST, čo je dôvod, prečo sa nazýva „bezstavová“ architektúra.
Prečo je REST rýchlejší?
Vďaka REST bezstavovosti je rýchlejší ako SOAP. Každé sloveso je spracovávané nezávisle a využíva objekt JSON, ktorý je oveľa rýchlejší pri prechode na konkrétne pole v dokumente obsahujúcom viac ako milión záznamov.
Predtým, ako začneme s metódami, ktoré sa používajú v REST, musíme vedieť o JSON a ceste JSON, pretože je to najbežnejší formát prenosu údajov v REST.
Čo je JSON?
JSON znamená JavaScript Object Notation. Je to formát, ktorý sa bežne používa v klientovi REST.
Je to samo-popisný a ľahko pochopiteľný tiež. Musíte jednoducho odovzdať svoj JSON v časti užitočného zaťaženia metódy REST. Jedná sa o ľahký formát výmeny dát, ktorý umožňuje, aby boli služby REST oveľa rýchlejšie, aj keď sa jedná o milión záznamov.
Programovanie pomocou JSON
Nižšie je uvedený ukážkový program iba s jedným dokumentom nazývaným „telefón“.
(obrázok zdroj )
Toto je môj ukážkový program JSON, v ktorom musím načítať hodnotu môjho typu telefónu. V takomto scenári môžete cez toto pole prejsť dvoma technikami. Jeden je podľa cesty JSON a druhý podľa kľúča dokumentu.
# 1) Pri práci s cestou JSON môžete použiť dve metódy:
$.phone(:1).type $('phone')(':1')('type')
#dva) Pretože Parasoft neumožňuje cestu JSON, môžeme použiť kľúč dokumentu, ktorý je pri prechádzaní trochu jednoduchý. Stačí odovzdať kľúč dokumentu spolu s adresou URL na karte zdrojov ako
phone.type
Musíte len kliknúť na tlačidlo pridať na snímke obrazovky nižšie a zadať phone.type a máte hotovo.
V nasledujúcom príklade musíte prechádzať posledným prvkom poľa polohy, ktorým je pole. Skúste teda preň napísať cestu JSON.
sql pohovor otázky a odpovede pre nováčikov pdf
Ako vidíte na riadkoch č. 37 a 39 (vyššie), boli pre rovnaký prechod k poslednému prvku poľa umiestnenia napísané dve rôzne cesty JSON. Rovnakým spôsobom môžete vytvoriť svoj JSON (komplexný vnorený dokument) a vyskúšať cvičnú cestu JSON.
VÝSLEDOK:
(„Helsingborg“)
Na otvorenej webovej stránke s názvom môžete vyskúšať toľko JSON, koľko chcete Online hodnotiteľ JSON
Metódy / Slovesá v oddychových službách
Služby REST poskytujú širokú škálu metód, ktoré sú tiež známe ako slovesá pre iný typ požiadaviek. Medzi ne patria hlavne POŠTOVAŤ, VLOŽIŤ, PATCH, ZÍSKAŤ, ODSTRÁNIŤ, VLASTNÉ .
POST
Táto metóda je zodpovedná za vytvorenie záznamu. Po úspešnom vykonaní je kód odpovede HTTP 201.
Nižšie je uvedený vzor JSON ilustrujúci POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Keď tento súbor JSON odovzdáme ako telo žiadosti, vytvorí dokument s kódom odpovede 201.
ZÍSKAJTE
Toto je iná metóda alebo sloveso, ktoré sa používa na získanie dokumentu alebo záznamu. Po úspešnom vykonaní GET bude kód odpovede 200. Neobsahuje žiadne telo žiadosti ani užitočné zaťaženie.
Musíte len stlačiť to isté URL pomocou metódy GET na karte zdrojov v Parasofti pomocou kľúča dokumentu ako „Test“. Aj keď nepostúpite žiaden kľúč dokumentu, načíta sa celý dokument.
Povedzme, že odovzdáme kľúč dokumentu ako „Test.Test2“, potom mi prinesie nasledujúci záznam.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
PUT
Táto metóda sa používa na aktualizáciu dokumentu a po úspešnom vykonaní má kód odpovede 200.
Aj keď sa POST a PUT príliš nelíšia a všetko závisí od vývojára, ako chce kódovať. Vývojári väčšinou používajú metódu PUT, keď chcú aktualizovať hodnotu niektorého poľa.
Napríklad: Ak chceme zmeniť niektorú hodnotu vo vyššie uvedenom dokumente JSON vloženom metódou POST, potom odovzdáme celé telo žiadosti s aktualizovanou hodnotou pomocou metódy PUT.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Keď vidíme odpoveď v prehliadači premávky, hodnota poľa sa aktualizuje ako
„Platform“: „Aktualizované Windows“
PATCH (VLASTNÉ)
Toto je ďalšia metóda, ktorá sa používa výlučne na aktualizáciu záznamu. Väčšina vývojárov uprednostňuje túto metódu pred metódou PUT, pretože tak efektívne využíva zdroje. Ak chcete vo svojom dokumente aktualizovať niektorú hodnotu poľa, musíte iba odovzdať iba toto pole s aktualizovanou hodnotou záznamu.
Povedzme, že ak chceme aktualizovať záznam POST, pri používaní PATCH použijeme iba nasledujúci text žiadosti.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Ako ste si všimli, tu sme na rozdiel od metódy PUT nezískali hodnoty poľa „Test“. Úspešným vykonaním získate kód odpovede 200 alebo 201.
ODSTRÁNIŤ
Ako už samotný názov napovedá, vymaže sa záznam označovaný aj ako preferencie. Toto neobsahuje žiadne telo žiadosti, ako je napríklad GET, a často má kód odpovede 203 (bez obsahu). Ak potrebujeme vymazať celý dokument, potom vo vyššie uvedenom JSON, potom iba odovzdáme kľúč dokumentu ako.
Test
Týmto sa odstráni celý dokument. Ak kľúč dokumentu vôbec nepostúpime, vymaže sa tým aj celý dokument.
Pasce anketára
Otázka 1) Väčšina anketárov sa snaží zmiasť, keď sa vás pýtajú, že dostali kód odpovede na operáciu úspešného odstránenia ako 200 namiesto 204. Čo mám robiť v takomto prípade? Mám to nahlásiť ako chybu?
Odpoveď: Odpoveď na vyššie uvedenú otázku je jednoduchá. Nemusíte hlásiť chybu. Namiesto toho sa môžete porozprávať s vývojárom alebo vyskúšať inú reakciu operácie odstránenia. Kód odpovede 200 vždy označuje úspešnú operáciu a 204 je špecifický pre DELETE. Je pravdepodobné, že vývojári použili 200 na všetky úspešné operácie.
Otázka 2) Ako môžem skontrolovať, či sú konkrétne hodnoty poľa správne alebo nie, bez použitia databázy v požiadavke JSON na 1 milión riadkov kódu?
Odpoveď: Odpoveď je zaslaním kľúča dokumentu v operácii GET. Vzorová adresa URL bude vyzerať takto:
https://resource-name.com/context-key/document-key
Na vyššie uvedenej adrese URL váš kontextový kľúč jedinečne načíta konkrétny JSON s 1 miliónom záznamov a kľúč dokumentu načíta konkrétnu hodnotu poľa v danom zázname.
Otázka 3) Ak nezadám žiadny názov dokumentu nad rámec môjho JSON, čo by som mal odovzdať ako kľúč dokumentu na načítanie celého dokumentu?
Odpoveď: Môžete odovzdať čokoľvek. Áno presne. Ak nemáte zadaný žiadny názov dokumentu a ak sa v dokumente nachádzajú iba polia a hodnoty, môžete zadať ľubovoľnú hodnotu reťazca. S týmto reťazcom sa bude zachádzať ako s kľúčom dokumentu automaticky.
Zhrnutie
Odteraz by ste mali mať nestranný názor na webové služby SOAP a REST, ich štruktúru, hlavné rozdiely medzi nimi, ich vlastnosti a použitie.
V tomto tutoriáli sme sa navyše venovali najbežnejším / najdôležitejším metódam (tiež známym ako slovesá), ktoré sa používajú v službách REST, spolu s programovaním JSON a cestou JSON na účely vyhodnotenia.
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Výukový program JSON: Úvod a kompletný sprievodca pre začiatočníkov
- Jednoduchý prístup k testovaniu XML na databázu
- 10 najlepších nástrojov na testovanie API v roku 2021 (nástroje na testovanie SOAP a REST API)
- 15+ návodov na SoapUI: najlepší nástroj na testovanie API webových služieb
- 7 Dôležité vlastnosti SoapUI a SoapUI Pro - výučba 2
- Ako vytvoriť simulovanú službu a dynamickú odpoveď v SoapUI
- Ako vytvoriť projekt REST v aplikácii SoapUI Pro: Výukový program č. 13
- Krok za krokom Proces sťahovania a inštalácie SoapUI - Výukový program SoapUI # 3
- Najvyšších 45 otázok a odpovedí na pohovory s webovými službami (RESTful, SOAP, bezpečnostné otázky)