soap vs rest difference
Denne veiledningen forklarer SOAP- og REST-tjenester på Parasoft. Du lærer Stateless vs Stateful, Security of SOAP over REST, Why REST is Raster Than SOAP, etc .:
Vi har også dekket eksempelforespørsler og svaret fra SOAP og REST i henholdsvis XML- og JSON-format.
Mot slutten av denne opplæringen vil du kunne skrive JSON-programmene dine som er forklart med forskjellige eksempelprogrammer sammen med JSON Path eller JSON Evaluator og Document Keys-konseptet til Parasoft.
=> Sjekk ut den komplette SOATest opplæringsserien her .
Denne opplæringen beskriver også de forskjellige verbene som brukes i Parasoft eller SOAtest Automation Tool sammen med programmeringseksemplene og deres respektive HTTP-responskode og bruksområder. Du vil kunne forstå hvordan du bygger SOAtest-suitene dine på en bedre måte, som vil bli dekket i detalj i vår kommende opplæring.
Du kan også prøve å svare på spørsmålene som er oppført nederst når du har gått gjennom denne veiledningen.
Hva du vil lære:
Hva er SOAP Service?
SOAP står for Simple Object Access Protocol . Protokoller er bare et sett med regler som du definerer for en test. Det er en 'state-full' protokoll, i motsetning til REST som innebærer bruk av WSDL (Web Services Description Language) for å beskrive webtjenester.
Alle forespørsler og svar i SOAP gjøres i XML (Extensible Markup Language). SOAP er sikrere sammenlignet med motparten. Det gir ingen uavhengig behandling for forskjellige metoder, og det er grunnen til at det kalles en 'state-full' protokoll.
Hvorfor er SOAP sikrere?
Selv om SOAP og REST begge støtter SSL (Secure Socket Layer) for databeskyttelse, mens SOAP støtter forespørsel, støtter SOAP Web Services Security (også kjent som WS-Security eller WSS) for bedriftsnivåbeskyttelse som ikke er tilgjengelig i REST Services. Web Services Security (WS-Security, WSS) er en utvidelse av SOAP for å bruke sikkerhet på webtjenester.
Et eksempel på et utvalg av SOAP
Parasoft TUP true
Vi har en XML som vil bli brukt som nyttelast for å danne forespørselen til SOAP. Ethvert XML-språk består av versjonen som skal defineres på toppen av skriptet. Du trenger ikke å bekymre deg for kodene, ettersom alle XML-filer lar deg lage kodene dine, i motsetning til HTML.
Hvis du prøver å generere tokens gjennom en SOAP-forespørsel, må du bare oppgi de nødvendige parametrene som bruker-ID og passord sammen med URL-en du treffer i forespørselens kropp eller XML under dine tilpassede koder.
Nedenfor er skjermbildet av trafikkviseren til Parasoft (en komponent som lar deg se resultatet).
[bilde kilde ]
Fremtredende funksjoner i SOAP
Nedenfor er noen av de fremtredende funksjonene i SOAP:
#1) Enhver SOAP-konvolutt kan brukes i REST-tjenester som generert token, men ikke omvendt. Dette betyr at hvis du har opprettet et token ved hjelp av SOAP, kan dette tokenet brukes i REST (under HTTP header manager seksjon => Autorisasjon). Men du kan ikke bruke REST-konvolutter i en SOAP-forespørsel.
#to) SOAP er sikrere enn REST ettersom den bruker WS-Security for overføring sammen med Secure Socket Layer.
# 3) SOAP bruker bare XML for forespørsel og svar. Den bruker ikke ren tekst eller annet.
# 4) SOAP er fullstendig (ikke statsløs) da den tar hele forespørselen som en helhet, i motsetning til REST som gir uavhengig behandling av forskjellige metoder. Ingen uavhengig behandling er der i SOAP.
Hva er REST Service?
REST står for Representational State Transfer . REST er en 'statsløs' arkitektur som involverer flere metoder eller verb mens du arbeider med forespørsler og svar.
Alle forespørsler og svar i REST gjøres i XML, JSON (JavaScript Object Notation) eller vanlig tekst. REST er raskere enn SOAP på grunn av involvering av JSON (som er lett) i forespørselen / nyttelasten til REST.
Hver metode behandles uavhengig i REST, og det er grunnen til at den kalles 'statsløs' arkitektur.
Hvorfor er REST raskere?
Statsløsheten til REST gjør den raskere enn en SOAP. Hvert verb behandles uavhengig, og det benytter seg av JSON Object som er mye raskere når man går til et bestemt felt i et dokument som inneholder mer enn en million poster.
Før vi begynner med metoder som brukes i REST, må vi vite om JSON- og JSON-banen, da det er det vanligste formatet for overføring av data i REST.
Hva er JSON?
JSON står for JavaScript Object Notation. Det er et format som ofte brukes i REST-klienten.
Det er selvbeskrivende og lett å forstå det også. Du må bare sende JSON-en din i nyttelast-delen av REST-metoden. Det er et lett datautvekslingsformat som lar REST-tjenester være mye raskere selv om det har å gjøre med en million poster.
Programmering med JSON
Nedenfor er et eksempelprogram med bare ett dokument kalt “telefon”.
[bilde kilde ]
Dette er JSON-programmet mitt der jeg må hente verdien av telefontypen min. I et slikt scenario kan du bruke to teknikker for å komme deg gjennom det feltet. Den ene er av JSON Path og den andre er av dokumentnøkkel.
# 1) Mens du arbeider med JSON-banen, kan du bruke to metoder:
$.phone[:1].type $['phone'][':1']['type']
#to) Ettersom Parasoft ikke tillater JSON-banen, kan vi bruke dokumentnøkkelen som er litt enkel når vi krysser. Bare send dokumentnøkkelen sammen med URL-en i ressurskategorien som
phone.type
Du må bare klikke på Legg til-knappen i skjermbildet nedenfor og angi telefon.type, og du er ferdig.
I eksemplet nedenfor må du krysse gjennom det siste elementet i plasseringsfeltet som er en matrise. Så prøv å skrive en JSON-bane for den.
world of warcraft gratis privat server
Som du kan se på linjenummer 37 og 39 (ovenfor), er det skrevet to forskjellige JSON-baner for den samme kryssingen til det siste elementet i plasseringsfeltet. På samme måte kan du opprette JSON (et komplekst nestet dokument) og prøve å skrive JSON-banen for praksisformål.
RESULTAT:
[“Helsingborg”]
Du kan prøve så mange JSON du vil, på et åpent nettsted som heter JSON online Evaluator
Metoder / verb i avslappende tjenester
REST-tjenester tilbyr et bredt spekter av metoder som også kalles verb for en annen type forespørsler. Disse inkluderer hovedsakelig POST, PUT, PATCH, FÅ, SLETTE, TILPASSET .
POST
Denne metoden er ansvarlig for å opprette posten. Etter vellykket kjøring er HTTP-svarskoden 201.
Nedenfor er eksemplet JSON som illustrerer POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Når vi sender denne JSON som et forespørselsorgan, vil det opprette dokumentet med en 201-svarskode.
FÅ
Dette er en annen metode eller verb som brukes til å hente dokumentet eller posten. Ved vellykket gjennomføring av GET vil svarkoden være 200. Denne inneholder ingen forespørselsorgan eller nyttelast.
Alt du trenger å gjøre er å trykke på den samme URL-en ved hjelp av GET-metoden i ressurskategorien til Parasoft ved hjelp av dokumentnøkkelen som 'Test'. Selv om du ikke sender noen dokumentnøkkel, vil den hente hele dokumentet.
La oss si at vi passerer dokumentnøkkelen som 'Test.Test2', så vil den hente meg følgende post.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
SETTE
Denne metoden brukes til å oppdatere dokumentet, og den har en 200 responskode etter vellykket kjøring.
Selv om POST og PUT ikke er veldig forskjellige, og alt avhenger av utvikleren om hvordan de vil kode. For det meste bruker utviklere PUT-metoden når de vil oppdatere noe feltverdi.
For eksempel: Hvis vi vil endre noen verdi i det ovennevnte JSON-dokumentet som er satt inn av POST, vil vi sende hele forespørselen med den oppdaterte verdien ved hjelp av PUT-metoden.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Når vi ser responsen i trafikkviseren, vil feltverdien bli oppdatert som
“Plattform”: “Oppdatert Windows”
PATCH (TILPASSET)
Dette er en annen metode som bare brukes til å oppdatere posten. De fleste utviklere foretrekker denne metoden fremfor PUT-metoden, da den utnytter ressursene best mulig. Hvis du vil oppdatere noe feltverdi i dokumentet ditt, er alt du trenger å gjøre å bare sende dette feltet med den oppdaterte verdien av posten.
La oss si, hvis vi vil oppdatere POST-posten, vil vi bare bruke følgende forespørselstype mens vi bruker PATCH.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Som du la merke til, passerte vi ikke feltverdiene til 'Test', i motsetning til PUT-metoden. Vellykket utførelse gir deg en svarskode på 200 eller 201.
SLETT
Som navnet antyder, vil den slette posten, også kjent som preferanser. Dette inneholder ikke noe forespørselsorgan som GET og har ofte svarkoden som 203 (Intet innhold). Hvis vi trenger å slette hele dokumentet i JSON ovenfor, vil vi bare sende dokumentnøkkelen som.
Test
Dette vil slette hele dokumentet. Hvis vi ikke sender dokumentnøkkelen i det hele tatt, vil den også slette hele dokumentet.
Intervjuerens feller
Spørsmål nr. 1) De fleste intervjuerne prøver å forvirre når de ber deg om at de har fått en vellykket slettingskodesvarkode som 200 i stedet for 204. Hva skal jeg gjøre i denne typen situasjoner? Skal jeg rapportere det som en feil?
Svar: Svaret på spørsmålet ovenfor er enkelt. Du trenger ikke å oppdra en feil. I stedet kan du snakke med utvikleren eller prøve å observere det andre sletteoperasjonssvaret. En responskode 200 betegner alltid den vellykkede operasjonen, og 204 er spesifikk for SLETTING. Det kan være en sjanse for at utviklerne brukte 200 til alle vellykkede operasjoner.
Spørsmål nr. 2) Hvordan sjekker jeg om de spesifikke feltverdiene er riktige eller ikke uten å bruke en database i en JSON-forespørsel på 1 million linjer med kode?
Svar: Svaret er ved å sende dokumentnøkkelen i GET-operasjonen. Eksempel-URL vil se ut som vist nedenfor:
https://resource-name.com/context-key/document-key
I URL-adressen ovenfor henter kontekstnøkkelen din den spesifikke JSON på 1 million poster, og dokumentnøkkelen henter den spesielle feltverdien i den posten.
Q # 3) Hvis jeg ikke spesifiserer noe dokumentnavn på toppen av JSON-en min, hva skal jeg da sende som en dokumentnøkkel for å hente hele dokumentet?
Svar: Du kan passere hva som helst. Ja nøyaktig. Hvis du ikke har angitt noe dokumentnavn, og hvis det bare er felt og verdier som er tilstede i dokumentet ditt, kan du sende hvilken som helst strengverdi. Denne strengen behandles automatisk som dokumentnøkkelen.
Sammendrag
Nå skal du ha en god ide om SOAP og REST-nettjenester, deres struktur, store forskjeller mellom dem, deres funksjoner og bruk.
Videre har vi i denne opplæringen dekket de vanligste / viktigste metodene (også kjent som verb) som brukes i REST-tjenester sammen med JSON-programmering og JSON-bane for evalueringsformål.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- JSON Tutorial: Introduksjon og en komplett guide for nybegynnere
- En enkel tilnærming for XML til databasetesting
- 10 beste API-testverktøy i 2021 (SOAP og REST API-testverktøy)
- 15+ SoapUI Tutorials: The Best Web Services API Testing Tool
- 7 Viktige funksjoner i SoapUI og SoapUI Pro - Opplæring 2
- Hvordan lage Mock Service og dynamisk respons i SoapUI
- Hvordan lage REST-prosjekt i SoapUI Pro: Opplæring # 13
- Steg for trinn SoapUI nedlastings- og installasjonsprosess - SoapUI Tutorial # 3
- Topp 45 webtjenestesamtaler og spørsmål (RESTful, SOAP, sikkerhetsspørsmål)