soap vs rest difference
Denne vejledning forklarer SOAP- og REST-tjenester på Parasoft. Du vil lære statsløs vs stateful, sikkerhed for SOAP i forhold til REST, hvorfor REST er hurtigere end SOAP osv .:
Vi har også dækket eksempler på anmodninger og svaret fra SOAP og REST i henholdsvis XML- og JSON-formatet.
Mod slutningen af denne tutorial vil du være i stand til at skrive dine JSON-programmer, der er blevet forklaret med forskellige eksempelprogrammer sammen med JSON Path eller JSON Evaluator og Document Keys-konceptet fra Parasoft.
=> Tjek den komplette SOATest tutorial-serie her .
Denne vejledning beskriver også de forskellige verb, der bruges i Parasoft eller SOAtest Automation Tool sammen med programmeringseksemplerne og deres respektive HTTP-responskode og anvendelser. Du vil være i stand til at forstå, hvordan du bygger dine SOAtest-suiter på en bedre måde, som vil blive dækket detaljeret i vores kommende vejledning.
Du kan også prøve at besvare de spørgsmål, der er anført i bunden, når du har gennemgået denne vejledning.
Hvad du lærer:
Hvad er SOAP Service?
SOAP står for Simple Object Access Protocol . Protokoller er intet andet end et sæt regler, som du definerer til en test. Det er en “state-full” -protokol, i modsætning til REST, der involverer brugen af WSDL (Web Services Description Language) til at beskrive webtjenester.
Alle anmodninger og svar i SOAP udføres i XML (Extensible Markup Language). SOAP er mere sikker sammenlignet med dets modstykke. Det giver ingen uafhængig behandling af forskellige metoder, og det er grunden til, at det kaldes en 'state-full' -protokol.
Hvorfor er SOAP mere sikker?
Selvom SOAP og REST begge understøtter SSL (Secure Socket Layer) til databeskyttelse, mens SOAP fremsætter anmodningen, understøtter SOAP Web Services Security (også kendt som WS- Security eller WSS) til beskyttelse på virksomhedsniveau, som ikke findes i REST Services. Web Services Security (WS-Security, WSS) er en udvidelse til SOAP til at anvende sikkerhed på webtjenester.
Et eksempel på en anmodning fra SOAP
Parasoft TUP true
Vi har en XML, der vil blive brugt som en nyttelast til at danne SOAP's anmodningsorgan. Ethvert XML-sprog består af den version, der skal defineres oven på scriptet. Du behøver ikke bekymre dig om tags, da alle XML-filer giver dig mulighed for at oprette dine tags i modsætning til HTML.
Hvis du forsøger at generere tokens gennem en SOAP-anmodning, skal du bare angive de nødvendige parametre som bruger-id og adgangskode sammen med den URL, som du rammer i anmodningens krop eller XML under dine tilpassede tags.
Nedenfor vises skærmbilledet af trafikviseren af Parasoft (en komponent, der lader dig se resultatet).
(billede kilde )
Fremtrædende funktioner i SOAP
Nedenfor er nogle af de fremtrædende træk ved SOAP:
# 1) Enhver SOAP-konvolut kan bruges i REST-tjenester som genereret token, men ikke omvendt. Dette betyder, at hvis du har oprettet et token ved hjælp af SOAP, kan dette token bruges i REST (under HTTP-headermanagersektion => Autorisation). Men du kan ikke bruge REST-konvolutter i en SOAP-anmodning.
#to) SOAP er mere sikker end REST, da den bruger WS-Security til transmission sammen med Secure Socket Layer.
# 3) SOAP bruger kun XML til anmodning og svar. Det bruger ikke almindelig tekst eller andet.
# 4) SOAP er tilstandsfuld (ikke statsløs), da den tager hele anmodningen som en helhed i modsætning til REST, som giver uafhængig behandling af forskellige metoder. Ingen uafhængig behandling er der i SOAP.
Hvad er REST Service?
REST står for repræsentativ statsoverførsel . REST er en 'statsløs' arkitektur, der involverer flere metoder eller verbum, når man behandler anmodninger og svar.
Alle anmodninger og svar i REST udføres i XML, JSON (JavaScript Object Notation) eller almindelig tekst. REST er hurtigere end SOAP på grund af inddragelse af JSON (som er letvægts) i anmodningen / nyttelasten af REST.
Hver metode behandles uafhængigt i REST, hvilket er grunden til, at den kaldes 'statsløs' arkitektur.
Hvorfor er REST hurtigere?
REST's statsløshed gør det hurtigere end en SOAP. Hvert verb behandles uafhængigt, og det bruger JSON Object, som er meget hurtigere, når man krydser til et bestemt felt i et dokument, der indeholder mere end en million poster.
Før vi begynder med metoder, der bruges i REST, skal vi vide om JSON og JSON-stien, da det er det mest almindelige format til transmission af data i REST.
Hvad er JSON?
JSON står for JavaScript Object Notation. Det er et format, der ofte bruges i REST-klienten.
Det er selvbeskrivende og også let at forstå. Du skal bare videregive din JSON i nyttelastafsnittet i REST-metoden. Det er et letvægtsdataudvekslingsformat, der gør det muligt for REST-tjenester at være meget hurtigere, selvom det har at gøre med en million poster.
Programmering med JSON
Nedenfor er et eksempelprogram med kun et dokument kaldet 'telefon'.
(billede kilde )
Dette er mit eksempel på JSON-program, hvor jeg skal hente værdien af min telefontype. I et sådant scenario kan du bruge to teknikker til at komme igennem dette felt. Den ene er ved JSON Path og den anden er ved dokumentnøgle.
# 1) Mens du beskæftiger dig med JSON-stien, kan du bruge to metoder:
$.phone(:1).type $('phone')(':1')('type')
#to) Da Parasoft ikke tillader JSON-stien, kan vi bruge dokumentnøglen, som er lidt enkel, når man krydser. Bare send dokumentnøglen sammen med URL'en i ressourcefanen som
phone.type
Du skal bare klikke på tilføj-knappen i nedenstående skærmbillede og indtaste telefon.type, og du er færdig.
I nedenstående eksempel skal du krydse det sidste element i placeringsfeltet, som er en matrix. Så prøv at skrive en JSON-sti til den.
bedste e-mail-tracking software til gmail
Som du kan se i linjenumre 37 og 39 (ovenfor) er der blevet skrevet to forskellige JSON-stier til den samme passage til det sidste element i placeringsfeltet. På samme måde kan du oprette din JSON (et komplekst indlejret dokument) og prøve at skrive JSON-stien til praksisformål.
RESULTAT:
(“Helsingborg”)
Du kan prøve så mange JSON, som du vil, på et åbent websted, der hedder JSON online evaluator
Metoder / verb i afslappende tjenester
REST-tjenester leverer en bred vifte af metoder, der også er kendt som verb for en anden type anmodninger. Disse inkluderer hovedsageligt POST, PUT, PATCH, FÅ, SLET, TILPASET .
STOLPE
Denne metode er ansvarlig for oprettelse af posten. Efter vellykket udførelse er HTTP-svarskoden 201.
Nedenfor er eksemplet JSON, der illustrerer POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Når vi sender denne JSON som et anmodningsorgan, opretter det dokumentet med en 201-svarskode.
FÅ
Dette er en anden metode eller verb, der bruges til at hente dokumentet eller registreringen. Efter vellykket udførelse af GET vil svarkoden være 200. Denne indeholder ikke nogen anmodningsorgan eller nyttelast.
Alt du skal gøre er bare at trykke på den samme URL ved hjælp af GET-metoden i ressourcefanen i Parasoft ved hjælp af dokumentnøglen som 'Test'. Selvom du ikke videregiver nogen dokumentnøgle, henter den hele dokumentet.
Lad os sige, at vi videregiver dokumentnøglen som 'Test.Test2', så henter det mig følgende post.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
SÆTTE
Denne metode bruges til at opdatere dokumentet, og den har en 200 svarskode efter vellykket udførelse.
Selvom POST og PUT ikke adskiller sig meget, og det hele afhænger af udvikleren om, hvordan de vil kode. For det meste bruger udviklere PUT-metoden, når de vil opdatere en feltværdi.
For eksempel: Hvis vi vil ændre en værdi i ovenstående JSON-dokument indsat af POST, vil vi sende hele anmodningsorganet med den opdaterede værdi ved hjælp af PUT-metoden.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Når vi ser svaret i trafikfremviseren, opdateres feltværdien som
“Platform”: “Opdateret Windows”
PATCH (TILPASET)
Dette er en anden metode, der udelukkende bruges til opdatering af posten. De fleste udviklere foretrækker denne metode frem for PUT-metoden, da den bruger ressourcerne bedst. Hvis du vil opdatere en feltværdi i dit dokument, er alt, hvad du skal gøre, kun at videregive dette felt med den opdaterede værdi af posten.
Lad os sige, hvis vi vil opdatere POST-posten, bruger vi kun følgende anmodningsorgan, mens vi bruger PATCH.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Som du bemærkede, passerede vi ikke feltværdierne for 'Test' i modsætning til PUT-metoden. En vellykket udførelse giver dig en 200 eller 201 svarskode.
SLET
Som navnet selv antyder, sletter det posten, også kendt som præferencer. Dette indeholder ikke nogen anmodningsorgan som GET og har ofte svarkoden som 203 (Intet indhold). Hvis vi har brug for at slette hele dokumentet, så i ovenstående JSON, vil vi bare videregive dokumentnøglen som.
Test
Dette sletter hele dokumentet. Hvis vi slet ikke videregiver dokumentnøglen, vil den også slette hele dokumentet.
Interviewers fælder
Spørgsmål nr. 1) De fleste af interviewerne prøver at forvirre, når de beder dig om, at de har fået en vellykket sletningsresponskode som 200 i stedet for 204. Hvad skal jeg gøre i denne situation? Skal jeg rapportere det som en fejl?
Svar: Svaret på ovenstående spørgsmål er simpelt. Du behøver ikke rejse en fejl. I stedet kan du tale med udvikleren eller prøve at observere det andet svar på sletteoperationen. En svarkode 200 angiver altid den vellykkede operation, og 204 er specifik for SLET. Der kan være en chance for, at udviklerne brugte 200 til alle vellykkede operationer.
Spørgsmål nr. 2) Hvordan kontrollerer jeg, om de bestemte feltværdier er korrekte eller ikke uden brug af en database i en JSON-anmodning på 1 million kodelinjer?
Svar: Svaret er ved at sende dokumentnøglen i GET-operationen. Eksempel-URL'en ser ud som vist nedenfor:
https://resource-name.com/context-key/document-key
I ovenstående URL henter din kontekstnøgle entydigt den bestemte JSON på 1 million poster, og dokumentnøglen henter den bestemte feltværdi i den post.
Spørgsmål nr. 3) Hvis jeg ikke angiver noget dokumentnavn oven på min JSON, hvad skal jeg sende som en dokumentnøgle for at hente hele dokumentet?
Svar: Du kan videregive alt. Ja præcis. Hvis du ikke har angivet noget dokumentnavn, og hvis der kun er felter og værdier, der er til stede i dit dokument, kan du videregive en hvilken som helst strengværdi. Denne streng behandles automatisk som din dokumentnøgle.
Resumé
Nu skal du have en god idé om SOAP- og REST-webtjenester, deres struktur, store forskelle mellem dem, deres funktioner og brug.
Desuden har vi i denne vejledning dækket de mest almindelige / vigtige metoder (også kendt som verb), der bruges i REST-tjenester sammen med JSON-programmering og JSON-sti til evalueringsformål.
PREV-vejledning | NÆSTE vejledning
Anbefalet læsning
- JSON Tutorial: Introduktion og en komplet guide til begyndere
- En enkel tilgang til XML til databasetest
- 10 bedste API-testværktøjer i 2021 (SOAP og REST API-testværktøjer)
- 15+ SoapUI Tutorials: Det bedste testtestværktøj til webtjenester API
- 7 Vigtige funktioner i SoapUI og SoapUI Pro - Tutorial 2
- Sådan oprettes Mock Service og Dynamic Response i SoapUI
- Sådan oprettes REST-projekt i SoapUI Pro: Tutorial # 13
- Trin for trin SoapUI Download- og installationsproces - SoapUI Tutorial # 3
- Top 45 webtjenester Interviewspørgsmål og svar (RESTful, SOAP, sikkerhedsspørgsmål)