soap vs rest difference
Tento výukový program vysvětluje služby SOAP a REST ve službě Parasoft. Dozvíte se bezstavové vs stavové, zabezpečení SOAP přes REST, proč je REST rychlejší než SOAP atd .:
Také jsme pokryli ukázkové žádosti a odpověď SOAP a REST ve formátu XML a JSON.
Ke konci tohoto kurzu budete moci psát své programy JSON, které byly vysvětleny různými ukázkovými programy, spolu s koncepcí JSON Path nebo JSON Evaluator a Document Keys společnosti Parasoft.
=> Podívejte se na kompletní SOATest Tutorial Series zde .
Tento kurz také popisuje různá slovesa, která se používají v Parasoftu nebo SOAtest Automation Tool, spolu s příklady programování a jejich příslušným kódem odpovědi HTTP a způsoby použití. Budete schopni porozumět tomu, jak vytvořit SOAtest Suites lepším způsobem, který bude podrobně popsán v našem nadcházejícím tutoriálu.
Jakmile projdete tímto tutoriálem, můžete také zkusit odpovědět na otázky uvedené v dolní části.
Co se naučíte:
Co je služba SOAP?
SOAP znamená Simple Object Access Protocol . Protokoly nejsou nic jiného než sada pravidel, která definujete pro Test. Jedná se o protokol „plný stav“, na rozdíl od REST, který k popisu webových služeb zahrnuje použití WSDL (Web Services Description Language).
Všechny požadavky a odpovědi v SOAP jsou prováděny v XML (Extensible Markup Language). SOAP je ve srovnání se svým protějškem bezpečnější. Neposkytuje žádné nezávislé zpracování pro různé metody, a proto se nazývá protokol „plný stav“.
Proč je SOAP bezpečnější?
Ačkoli SOAP a REST oba podporují SSL (Secure Socket Layer) pro ochranu dat, při vytváření požadavku SOAP podporuje Web Services Security (také známý jako WS-Security nebo WSS) pro ochranu na podnikové úrovni, která ve službách REST chybí. Zabezpečení webových služeb (WS-Security, WSS) je rozšíření protokolu SOAP pro použití zabezpečení na webové služby.
Ukázkový text požadavku SOAP
Parasoft TUP true
Máme XML, které bude použito jako užitečné zatížení k vytvoření těla požadavku SOAP. Libovolný jazyk XML se skládá z verze, která by měla být definována v horní části skriptu. Se značkami si nemusíte dělat starosti, protože všechny soubory XML vám umožňují vytvářet značky, na rozdíl od HTML.
Pokud se pokoušíte generovat tokeny prostřednictvím požadavku SOAP, musíte pouze poskytnout potřebné parametry, jako je ID uživatele a heslo, spolu s adresou URL, kterou narazíte v těle požadavku nebo XML pod vlastními značkami.
Níže je uveden snímek obrazovky prohlížeče provozu Parasoftu (komponenta, která vám umožní vidět výsledek).
(obraz zdroj )
Prominentní rysy SOAP
Níže jsou uvedeny některé z významných funkcí protokolu SOAP:
# 1) Ve službách REST lze použít libovolnou obálku SOAP, jako je generovaný token, ale ne naopak. To znamená, že pokud jste vytvořili token pomocí SOAP, můžete tento token použít v REST (v sekci Správce hlaviček HTTP => Autorizace). V požadavku SOAP ale nemůžete použít obálky REST.
#dva) SOAP je bezpečnější než REST, protože používá k přenosu WS-Security spolu s Secure Socket Layer.
# 3) SOAP používá pouze XML pro požadavek a odpověď. Nepoužívá prostý text ani nic jiného.
# 4) SOAP je plný stav (není bez státní příslušnosti), protože bere celý požadavek jako celek, na rozdíl od REST, který poskytuje nezávislé zpracování různých metod. V SOAP není žádné nezávislé zpracování.
Co je služba REST?
REST je zkratka pro Reprezentativní přenos státu . REST je architektura „bez státní příslušnosti“, která při řešení požadavků a odpovědí zahrnuje více metod nebo sloves.
Všechny žádosti a odpovědi v REST se provádějí v XML, JSON (JavaScript Object Notation) nebo prostém textu. REST je rychlejší než SOAP z důvodu zapojení JSON (což je lehký) do požadavku / užitečného zatížení REST.
Každá metoda je zpracována samostatně v REST, což je důvod, proč se jí říká „bezstavová“ architektura.
Proč je REST rychlejší?
Díky bezstavovosti REST je rychlejší než SOAP. Každé sloveso je zpracováváno samostatně a využívá objekt JSON, který je mnohem rychlejší při přechodu na jakékoli konkrétní pole v dokumentu obsahujícím více než milion záznamů.
Než začneme o metodách, které se používají v REST, musíme vědět o JSON a cestě JSON, protože se jedná o nejběžnější formát přenosu dat v REST.
Co je JSON?
JSON znamená JavaScript Object Notation. Jedná se o formát, který se běžně používá v klientovi REST.
Je to popisné a snadno pochopitelné. Musíte jen předat svůj JSON v sekci užitečné zatížení metody REST. Jedná se o lehký formát pro výměnu dat, který umožňuje, aby služby REST byly mnohem rychlejší, i když se jedná o jeden milion záznamů.
Programování pomocí JSON
Níže je ukázkový program pouze s jedním dokumentem zvaným „telefon“.
(obraz zdroj )
Toto je můj ukázkový program JSON, ve kterém musím načíst hodnotu svého typu telefonu. V takovém scénáři můžete projít tímto polem pomocí dvou technik. Jeden je cestou JSON a druhý klíčem dokumentu.
# 1) Při práci s cestou JSON můžete použít dvě metody:
$.phone(:1).type $('phone')(':1')('type')
#dva) Protože Parasoft neumožňuje cestu JSON, můžeme použít klíč dokumentu, který je při procházení trochu jednoduchý. Stačí předat klíč dokumentu spolu s adresou URL na kartě zdrojů jako
phone.type
Musíte jen kliknout na tlačítko Přidat na níže uvedeném snímku obrazovky a zadat phone.type a jste hotovi.
V níže uvedeném příkladu musíte projít posledním prvkem pole umístění, kterým je pole. Zkuste tedy pro něj napsat cestu JSON.
Otázky a odpovědi na rozhovor s Oracle Database
Jak můžete vidět v číslech řádků 37 a 39 (výše), byly pro stejný přechod k poslednímu prvku pole umístění napsány dvě různé cesty JSON. Stejným způsobem můžete vytvořit svůj JSON (složitý vnořený dokument) a zkusit napsat cestu JSON pro praktické účely.
VÝSLEDEK:
(“Helsingborg”)
Na otevřené webové stránce s názvem můžete vyzkoušet tolik JSON, kolik chcete Online hodnotitel JSON
Metody / Slovesa v klidných službách
Služby REST poskytují širokou škálu metod, které jsou také známé jako slovesa pro jiný typ požadavků. Mezi ně patří zejména POST, PUT, PATCH, GET, DELETE, CUSTOM .
POŠTA
Tato metoda je zodpovědná za vytvoření záznamu. Po úspěšném provedení je kód odpovědi HTTP 201.
Níže je ukázkový JSON ilustrující POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Když předáme tento JSON jako tělo požadavku, vytvoří dokument s kódem odpovědi 201.
DOSTAT
Toto je další metoda nebo sloveso, které se používá k načtení dokumentu nebo záznamu. Po úspěšném provedení GET bude kód odpovědi 200. Neobsahuje žádné tělo požadavku ani užitečné zatížení.
Jediné, co musíte udělat, je stisknout stejnou adresu URL pomocí metody GET na kartě zdrojů v Parasoftu pomocí klíče dokumentu jako „Test“. I když nepředáte žádný klíč dokumentu, načte celý dokument.
Řekněme, že předáme klíč dokumentu jako „Test.Test2“, poté mi načte následující záznam.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
DÁT
Tato metoda se používá k aktualizaci dokumentu a po úspěšném provedení má kód odpovědi 200.
Ačkoli se POST a PUT příliš neliší a vše záleží na vývojáři, jak chtějí kódovat. Vývojáři většinou používají metodu PUT, když chtějí aktualizovat nějakou hodnotu pole.
Například: Pokud chceme změnit nějakou hodnotu ve výše uvedeném dokumentu JSON vloženém POST, pak předáme celé tělo požadavku s aktualizovanou hodnotou pomocí metody PUT.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Když vidíme odpověď v prohlížeči provozu, bude hodnota pole aktualizována jako
„Platform“: „Aktualizováno Windows“
PATCH (VLASTNÍ)
Toto je další metoda, která se používá výhradně k aktualizaci záznamu. Většina vývojářů dává přednost této metodě před metodou PUT, protože využívá zdroje co nejlépe. Pokud chcete v dokumentu aktualizovat nějakou hodnotu pole, musíte předat pouze toto pole s aktualizovanou hodnotou záznamu.
Řekněme, že pokud chceme aktualizovat záznam POST, použijeme při používání PATCH pouze následující tělo požadavku.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Jak jste si všimli, zde jsme na rozdíl od metody PUT neprošli hodnotami pole „Test“. Úspěšné provedení vám poskytne kód odpovědi 200 nebo 201.
VYMAZAT
Jak název napovídá sám, odstraní záznam známý také jako předvolby. Toto neobsahuje žádné tělo požadavku, jako je GET, a často má kód odpovědi 203 (žádný obsah). Pokud potřebujeme smazat celý dokument, pak ve výše uvedeném JSON, pak jen předáme klíč dokumentu jako.
Test
Tímto odstraníte celý dokument. Pokud klíč dokumentu vůbec nepředáme, vymaže také celý dokument.
Trapy tazatele
Otázka č. 1) Většina tazatelů se pokouší zmást, když vás požádají, aby dostali kód odpovědi na úspěšnou operaci mazání jako 200 namísto 204. Co mám dělat v takové situaci? Mám to nahlásit jako chybu?
Odpovědět: Odpověď na výše uvedenou otázku je jednoduchá. Nemusíte hlásit chybu. Místo toho si můžete promluvit s vývojářem nebo se pokusit sledovat odpověď na jinou operaci odstranění. Kód odpovědi 200 vždy označuje úspěšnou operaci a 204 je specifický pro DELETE. Může existovat šance, že vývojáři použili 200 pro všechny úspěšné operace.
Otázka č. 2) Jak mohu zkontrolovat, zda jsou konkrétní hodnoty pole správné nebo ne, bez použití databáze v požadavku JSON na 1 milion řádků kódu?
Odpovědět: Odpověď je zasláním klíče dokumentu v operaci GET. Ukázková adresa URL bude vypadat takto:
https://resource-name.com/context-key/document-key
Ve výše uvedené adrese URL váš kontextový klíč jedinečně načte konkrétní JSON 1 milion záznamů a klíč dokumentu načte konkrétní hodnotu pole v tomto záznamu.
Otázka č. 3) Pokud nezadám nad JSON žádný název dokumentu, co mám předat jako klíč dokumentu k načtení celého dokumentu?
Odpovědět: Můžete předat cokoli. Ano přesně. Pokud nemáte zadán žádný název dokumentu a pokud jsou v dokumentu přítomna pouze pole a hodnoty, můžete předat libovolnou hodnotu řetězce. Tento řetězec bude automaticky považován za klíč dokumentu.
souhrn
Nyní byste měli mít nestranný názor na webové služby SOAP a REST, jejich strukturu, hlavní rozdíly mezi nimi, jejich funkce a použití.
Kromě toho jsme v tomto kurzu zahrnovali nejběžnější / nejdůležitější metody (známé také jako slovesa), které se používají ve službách REST, spolu s programováním JSON a cestou JSON pro účely vyhodnocení.
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Výukový program JSON: Úvod a kompletní průvodce pro začátečníky
- Jednoduchý přístup pro testování XML k databázi
- 10 nejlepších nástrojů pro testování API v roce 2021 (nástroje pro testování API SOAP a REST)
- 15+ SoapUI Tutorials: The Best Web Services API Testing Tool
- 7 Důležité funkce SoapUI a SoapUI Pro - výuka 2
- Jak vytvořit Mock Service a Dynamic Response v SoapUI
- Jak vytvořit projekt REST v SoapUI Pro: Výukový program č. 13
- Krok za krokem Proces stahování a instalace SoapUI - SoapUI Tutorial # 3
- 45 nejčastějších dotazů a odpovědí na webové služby (RESTful, SOAP, bezpečnostní otázky)