soap vs rest difference
Denna handledning förklarar SOAP- och REST-tjänster på Parasoft. Du lär dig Stateless vs Stateful, Security of SOAP over REST, Varför REST är snabbare än SOAP, etc:
Vi har också täckt exempelförfrågningar och svaret från SOAP och REST i XML- respektive JSON-format.
Mot slutet av denna handledning kommer du att kunna skriva dina JSON-program som har förklarats med olika exempelprogram tillsammans med JSON Path eller JSON Evaluator och Document Keys-konceptet för Parasoft.
=> Kolla in hela SOATest-handledningsserien här .
Denna handledning beskriver också de olika verben som används i Parasoft eller SOAtest Automation Tool tillsammans med programmeringsexemplen och deras respektive HTTP-svarskod och användningsområden. Du kommer att kunna förstå hur du bygger dina SOAtest-sviter på ett bättre sätt som kommer att beskrivas i detalj i vår kommande handledning.
Du kan också prova att svara på frågorna som listas längst ner när du har gått igenom denna handledning.
Vad du kommer att lära dig:
Vad är SOAP Service?
SOAP står för Simple Object Access Protocol . Protokoll är inget annat än en uppsättning regler som du definierar för ett test. Det är ett ”state-full” -protokoll, till skillnad från REST som innebär användning av WSDL (Web Services Description Language) för att beskriva webbtjänster.
Alla förfrågningar och svar i SOAP görs i XML (Extensible Markup Language). SOAP är säkrare jämfört med dess motsvarighet. Det ger ingen oberoende bearbetning för olika metoder och det är anledningen till att det kallas ett 'state-full' -protokoll.
Varför är SOAP säkrare?
Även om SOAP och REST båda stöder SSL (Secure Socket Layer) för dataskydd, stöder SOAP samtidigt webbsäkerhetssäkerhet (även känd som WS- Security eller WSS) för skydd på företagsnivå som saknas i REST Services. Web Services Security (WS-Security, WSS) är en förlängning av SOAP för att tillämpa säkerhet på webbtjänster.
Ett exempel på en begäran om SOAP
Parasoft TUP true
Vi har en XML som kommer att användas som nyttolast för att bilda SOAP: s begäran. Alla XML-språk består av den version som ska definieras ovanpå skriptet. Du behöver inte oroa dig för taggarna, eftersom alla XML-filer låter dig skapa dina taggar, till skillnad från HTML.
Om du försöker generera tokens via en SOAP-begäran, måste du bara ange nödvändiga parametrar som användar-id och lösenord tillsammans med webbadressen som du slår i begäran eller XML under dina anpassade taggar.
Nedan visas skärmdumpen av Parasofts trafikvisare (en komponent som låter dig se resultatet).
(bild källa )
Framträdande funktioner i SOAP
Nedan listas några av de framträdande funktionerna i SOAP:
# 1) Vilket SOAP-kuvert som helst kan användas i REST-tjänster som genererad token men inte tvärtom. Det betyder att om du har skapat en token med SOAP, kan den token användas i REST (under avsnittet HTTP-huvudhanterare => Auktorisering). Men du kan inte använda REST-kuvert i en SOAP-begäran.
#två) SOAP är säkrare än REST eftersom den använder WS-Security för överföring tillsammans med Secure Socket Layer.
# 3) SOAP använder endast XML för begäran och svar. Den använder inte vanlig text eller annat.
# 4) SOAP är statligt (inte statslöst) eftersom det tar hela begäran som en helhet, till skillnad från REST som ger oberoende bearbetning av olika metoder. Ingen oberoende bearbetning finns i SOAP.
Vad är REST Service?
REST står för Representational State Transfer . REST är en 'statslös' arkitektur som involverar flera metoder eller verb när man hanterar förfrågningar och svar.
Alla förfrågningar och svar i REST görs i XML, JSON (JavaScript Object Notation) eller vanlig text. REST är snabbare än SOAP på grund av att JSON (som är lätt) är involverat i begäran / nyttolasten för REST.
Varje metod bearbetas oberoende i REST vilket är anledningen till att den kallas 'statslös' arkitektur.
Varför är REST snabbare?
RESTs statslösa natur gör det snabbare än en tvål. Varje verb bearbetas oberoende och det använder JSON Object som är mycket snabbare när man går till ett visst fält i ett dokument som innehåller mer än en miljon poster.
Innan vi börjar om metoder som används i REST måste vi veta om JSON- och JSON-sökvägar eftersom det är det vanligaste formatet för överföring av data i REST.
Vad är JSON?
JSON står för JavaScript Object Notation. Det är ett format som ofta används i REST-klienten.
Det är självbeskrivande och lätt att förstå också. Du måste bara skicka din JSON i nyttolastavsnittet i REST-metoden. Det är ett lättviktigt datautbytesformat som gör att REST-tjänster kan vara mycket snabbare även om det handlar om en miljon poster.
Programmering med JSON
Nedan följer ett exempelprogram med endast ett dokument som heter 'telefon'.
(bild källa )
Detta är mitt exempel på JSON-program där jag måste hämta värdet på min telefontyp. I ett sådant scenario kan du använda två tekniker för att komma igenom det fältet. En är av JSON Path och den andra är av dokumentnyckel.
# 1) När du hanterar JSON-sökvägen kan du använda två metoder:
$.phone(:1).type $('phone')(':1')('type')
#två) Eftersom Parasoft inte tillåter JSON-sökvägen kan vi använda dokumentnyckeln som är lite enkel när man går igenom. Skicka bara dokumentnyckeln tillsammans med URL: en på resursfliken som
phone.type
Du behöver bara klicka på knappen Lägg till i skärmbilden nedan och ange telefon.typ så är du klar.
I exemplet nedan måste du gå igenom det sista elementet i platsfältet som är en matris. Så försök att skriva en JSON Path för den.
bästa gratis datorrengörare och reparation
Som du kan se på radnummer 37 och 39 (ovan) har två olika JSON-banor skrivits för samma genomgång till det sista elementet i platsfältet. På samma sätt kan du skapa din JSON (ett komplext kapslat dokument) och försöka skriva JSON-sökvägen för övningsändamål.
RESULTAT:
(“Helsingborg”)
Du kan prova så många JSON du vill, på en öppen webbplats som heter JSON online utvärderare
Metoder / verb i vilande tjänster
REST-tjänster erbjuder ett brett utbud av metoder som även kallas verb för en annan typ av förfrågningar. Dessa inkluderar främst POST, PUT, PATCH, GET, DELETE, CUSTOM .
POSTA
Denna metod ansvarar för att skapa posten. Efter lyckad körning är HTTP-svarskoden 201.
Nedan följer JSON-exemplet som illustrerar POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
När vi skickar denna JSON som en begärande instans skapar den dokumentet med en 201-svarskod.
SKAFFA SIG
Detta är en annan metod eller ett verb som används för att hämta dokumentet eller registrera. Efter framgångsrik körning av GET kommer svarkoden att vara 200. Den innehåller inte någon begäran eller nyttolast.
Allt du behöver göra är att bara trycka på samma URL med hjälp av GET-metoden i resursfliken i Parasoft med hjälp av dokumentnyckeln som 'Test'. Även om du inte skickar någon dokumentnyckel hämtar den hela dokumentet.
Låt oss säga att vi skickar dokumentnyckeln som 'Test.Test2', då hämtar jag följande post.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
SÄTTA
Denna metod används för att uppdatera dokumentet och det har en 200 svarskod efter framgångsrik körning.
Även om POST och PUT inte skiljer sig mycket åt och det beror allt på utvecklaren om hur de vill koda. För det mesta använder utvecklare PUT-metoden när de vill uppdatera något fältvärde.
Till exempel: Om vi vill ändra något värde i ovanstående JSON-dokument infogat av POST, skickar vi hela begäran med det uppdaterade värdet med PUT-metoden.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
När vi ser svaret i trafikvisaren kommer fältvärdet att uppdateras som
“Plattform”: “Uppdaterad Windows”
PATCH (ANPASSAD)
Detta är en annan metod som enbart används för att uppdatera posten. De flesta utvecklare föredrar denna metod framför PUT-metoden eftersom den använder resurserna bäst. Om du vill uppdatera något fältvärde i ditt dokument behöver du bara skicka det fältet med postens uppdaterade värde.
Låt oss säga, om vi vill uppdatera POST-posten, kommer vi bara att använda följande begärandetext medan vi använder PATCH.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Som du märkte passerade vi här inte fältvärdena för 'Test', till skillnad från PUT-metoden. Framgångsrik körning ger dig en svarkod på 200 eller 201.
RADERA
Som själva namnet antyder kommer den att ta bort posten, även känd som inställningar. Detta innehåller inte någon begäran som GET och har ofta svarkoden som 203 (Inget innehåll). Om vi behöver ta bort hela dokumentet i JSON ovan, skickar vi bara dokumentnyckeln som.
Test
Detta tar bort hela dokumentet. Om vi inte skickar dokumentnyckeln alls kommer det också att ta bort hela dokumentet.
Intervjuerens fällor
F # 1) De flesta intervjuarna försöker förvirra när de frågar dig att de har fått en framgångsrik borttagning svarskod som 200 istället för 204. I den här typen av situation, vad ska jag göra? Ska jag rapportera det som ett fel?
Svar: Svaret på ovanstående fråga är enkelt. Du behöver inte ta upp ett fel. Istället kan du prata med utvecklaren eller försöka följa det andra svaret för borttagning. En svarkod 200 anger alltid den lyckade operationen och 204 är specifik för DELETE. Det kan finnas en chans att utvecklarna använde 200 för alla framgångsrika operationer.
F # 2) Hur kontrollerar jag om de specifika fältvärdena är korrekta eller inte utan att använda en databas i en JSON-begäran på 1 miljon kodrader?
Svar: Svaret är genom att skicka dokumentnyckeln i GET-operationen. Exempel URL kommer att se ut som visas nedan:
https://resource-name.com/context-key/document-key
I ovanstående URL hämtar din kontextnyckel den specifika JSON med 1 miljon poster unikt och dokumentnyckeln hämtar det specifika fältvärdet i den posten.
F # 3) Om jag inte anger något dokumentnamn ovanpå min JSON, vad ska jag skicka som en dokumentnyckel för att hämta hela dokumentet?
Svar: Du kan klara vad som helst. Ja exakt. Om du inte har angett något dokumentnamn och om det bara finns fält och värden som finns i ditt dokument kan du skicka valfritt strängvärde. Den strängen behandlas automatiskt som din dokumentnyckel.
Sammanfattning
Nu bör du ha en rättvis uppfattning om SOAP- och REST-webbtjänster, deras struktur, stora skillnader mellan dem, deras funktioner och användning.
Dessutom har vi i denna handledning täckt de vanligaste / viktigaste metoderna (även kända som verb) som används i REST-tjänster tillsammans med JSON-programmering och JSON-väg för utvärderingsändamål.
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- JSON-handledning: Introduktion och en komplett guide för nybörjare
- En enkel metod för testning av XML till databas
- De 10 bästa API-testverktygen 2021 (SOAP och REST API-testverktyg)
- 15+ SoapUI-handledning: Det bästa testtjänstprogrammet för webbtjänster
- 7 Viktiga funktioner i SoapUI och SoapUI Pro - Handledning 2
- Hur man skapar Mock Service och dynamiskt svar i SoapUI
- Hur man skapar REST-projekt i SoapUI Pro: Handledning nr 13
- Steg för steg SoapUI nedladdnings- och installationsprocess - SoapUI-handledning nr 3
- Topp 45 intervjuer och svar på webbtjänster (RESTful, SOAP, säkerhetsfrågor)