soap vs rest difference
Този урок обяснява SOAP и REST услугите на Parasoft. Ще научите без гражданство срещу държавно, сигурност на SOAP над REST, защо REST е по-бърз от SOAP и др .:
Също така сме обхванали примерни заявки и отговора на SOAP и REST съответно във формат XML и JSON.
Към края на този урок ще можете да напишете вашите JSON програми, които са обяснени с различни примерни програми, заедно с концепцията за JSON Path или JSON Evaluator и Document Keys на Parasoft.
=> Вижте пълната поредица SOATest уроци тук .
Този урок също описва различните глаголи, които се използват в Parasoft или SOAtest Automation Tool, заедно с примери за програмиране и съответния им HTTP код за отговор и употреби. Ще можете да разберете как да изградите вашите SOAtest Suite по-добър начин, който ще бъде разгледан подробно в нашия предстоящ урок.
Можете също така да опитате да отговорите на въпросите, изброени в долната част, след като преминете през този урок.
Какво ще научите:
Какво представлява услугата SOAP?
SOAP означава Simple Object Access Protocol . Протоколите не са нищо друго освен набор от правила, които вие определяте за тест. Това е протокол „пълен за държавата“, за разлика от REST, който включва използването на WSDL (език за описание на уеб услуги) за описване на уеб услуги.
Всички заявки и отговори в SOAP се извършват в XML (Extensible Markup Language). SOAP е по-сигурен в сравнение със своя аналог. Той не предоставя никаква независима обработка за различни методи и това е причината, поради която се нарича „протокол с пълно състояние“.
Защо SOAP е по-сигурен?
Въпреки че SOAP и REST и двете поддържат SSL (Secure Socket Layer) за защита на данните, докато отправя заявката, SOAP поддържа защитата на уеб услуги (известна също като WS-Security или WSS) за защита на ниво предприятие, което отсъства в REST Services. Защита на уеб услуги (WS-Security, WSS) е разширение на SOAP за прилагане на защита към уеб услуги.
Примерно тяло на заявка за SOAP
Parasoft TUP true
Имаме XML, който ще се използва като полезен товар за формиране на тялото на заявката на SOAP. Всеки XML език се състои от версията, която трябва да бъде дефинирана отгоре на скрипта. Не е нужно да се притеснявате за маркерите, тъй като всички XML файлове ви позволяват да създавате своите маркери, за разлика от HTML.
Ако се опитвате да генерирате маркерите чрез SOAP заявка, тогава просто трябва да предоставите необходимите параметри като потребителски идентификатор и парола, заедно с URL адреса, който удряте в тялото на заявката или XML под вашите персонализирани маркери.
По-долу е дадена екранната снимка на прегледа на трафика на Parasoft (компонент, който ви позволява да видите резултата).
(изображение източник )
Видни характеристики на SOAP
По-долу са изброени някои от забележителните характеристики на SOAP:
# 1) Всеки SOAP плик може да се използва в REST услуги като генериран маркер, но не и обратно. Това означава, че ако сте създали маркер с помощта на SOAP, тогава този маркер може да се използва в REST (под HTTP header section => Authorization). Но не можете да използвате REST пликове в SOAP заявка.
# две) SOAP е по-сигурен от REST, тъй като използва WS-Security за предаване заедно със Secure Socket Layer.
# 3) SOAP използва XML само за заявка и отговор. Той не използва обикновен текст или други.
# 4) SOAP е пълен със състояние (не без гражданство), тъй като приема цялата заявка като цяло, за разлика от REST, който осигурява независима обработка на различни методи. Няма независима обработка в SOAP.
Какво е REST услуга?
REST означава представителния държавен трансфер . REST е архитектура „без гражданство“, която включва множество методи или глаголи, докато се занимава със заявки и отговори.
Всички заявки и отговори в REST се извършват в XML, JSON (JavaScript Object Notation) или Plain Text. REST е по-бърз от SOAP поради участието на JSON (което е малко) в заявката / полезния товар на REST.
Всеки метод се обработва независимо в REST, което е причината, поради която се нарича архитектура „без гражданство“.
Защо REST е по-бърз?
Природният характер на REST го прави по-бърз от SOAP. Всеки глагол се обработва независимо и използва JSON Object, който е много по-бърз при преминаване към някое конкретно поле в документ, съдържащ повече от милион записи.
Преди да започнем с методите, които се използват в REST, трябва да знаем за JSON и JSON пътя, тъй като това е най-често срещаният формат за предаване на данни в REST.
Какво е JSON?
JSON означава JavaScript Object Notation. Това е формат, който често се използва в клиента REST.
Това е самоописано и лесно за разбиране. Просто трябва да предадете своя JSON в раздела за полезен товар на метода REST. Това е лек формат за обмен на данни, който позволява на услугите REST да бъдат много по-бързи, дори ако се справят с един милион записи.
Програмиране с JSON
По-долу е дадена примерна програма само с един документ, наречен „телефон“.
(изображение източник )
Това е моята примерна програма JSON, в която трябва да взема стойността на моя тип телефон. В такъв сценарий можете да използвате две техники, за да преминете през това поле. Единият е по JSON Path, а другият е по ключ на документа.
# 1) Докато се занимавате с JSON път, можете да използвате два метода:
$.phone(:1).type $('phone')(':1')('type')
# две) Тъй като Parasoft не позволява пътя на JSON, можем да използваме ключа за документ, който е малко прост при обхождане. Просто предайте ключа на документа заедно с URL адреса в раздела ресурс като
phone.type
Просто трябва да кликнете върху бутона за добавяне в екрана по-долу и да въведете phone.type и сте готови.
В примера по-долу трябва да преминете през последния елемент от полето за местоположение, който е масив. Затова опитайте да напишете JSON Path за него.
къде ще намерите ключ за мрежова сигурност
Както можете да видите в редове с номера 37 и 39 (по-горе), са написани два различни пътя на JSON за едно и също преминаване към последния елемент от полето за местоположение. По същия начин можете да създадете своя JSON (сложен вложен документ) и да опитате да напишете JSON пътя за целите на практиката.
РЕЗУЛТАТ:
(„Хелзингборг“)
Можете да изпробвате колкото искате JSON в отворен уебсайт, наречен JSON онлайн оценител
Методи / Глаголи в Restful Services
Услугите REST предоставят широк спектър от методи, известни още като глаголи за различен тип заявки. Те включват основно ПУБЛИКУВАЙТЕ, ПОСТАВЕТЕ, КРАПЕТЕ, ВЗЕМЕТЕ, ИЗТРИВАЙТЕ, ПОЛЗИ .
ПОСТ
Този метод е отговорен за създаването на записа. При успешно изпълнение, HTTP кодът за отговор е 201.
По-долу е примерният JSON, илюстриращ POST.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
Когато предадем този JSON като тяло на заявка, той ще създаде документа с код за отговор 201.
ВЗЕМЕТЕ
Това е друг метод или глагол, който се използва за извличане на документа или записа. При успешно изпълнение на GET, кодът за отговор ще бъде 200. Той не съдържа тяло на заявка или полезен товар.
Всичко, което трябва да направите, е просто да натиснете един и същ URL адрес, използвайки метода GET в раздела ресурс на Parasoft, използвайки ключа на документа като „Тест“. Дори да не предадете нито един ключ за документ, той ще извлече целия документ.
Да приемем, че предаваме ключа на документа като „Test.Test2“, след което той ще ми донесе следния запис.
{ “Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Windows” } } }
СЛАГАМ
Този метод се използва за актуализиране на документа и той има код за отговор 200 след успешно изпълнение.
Въпреки че POST и PUT не се различават много и всичко зависи от разработчика как искат да кодират. Най-често разработчиците използват метода PUT, когато искат да актуализират някаква стойност на полето.
Например: Ако искаме да променим някаква стойност в горния JSON документ, вмъкнат от POST, тогава ще предадем цялото тяло на заявката с актуализираната стойност, използвайки метода PUT.
{ “Test”: { “Tester Name”: “Saket Saurav”, “Designation”: “QA”, “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Когато видим отговора в прегледа на трафика, тогава стойността на полето ще се актуализира като
„Платформа“: „Актуализиран Windows“
КРЪПКА (ПОТРЕБИТЕЛНО)
Това е друг метод, който се използва единствено за актуализиране на записа. Повечето разработчици предпочитат този метод пред метода PUT, тъй като той използва най-добре ресурсите. Ако искате да актуализирате някаква стойност на полето във вашия документ, всичко, което трябва да направите, е да предадете само това поле с актуализираната стойност на записа.
Да кажем, че ако искаме да актуализираме записа POST, тогава ще използваме само следното тяло на заявката, докато използваме PATCH.
{“Test”: { “Test2”: { “Testing”: “Nested Document”, “Platform”: “Updated Windows” } } }
Както забелязахте, тук не предадохме полевите стойности на „Test“, за разлика от метода PUT. Успешното изпълнение ще ви даде 200 или 201 код за отговор.
ИЗТРИЙ
Както подсказва самото име, той ще изтрие записа, известен също като предпочитания. Това не съдържа тяло на заявка като GET и често има код на отговор като 203 (без съдържание). Ако трябва да изтрием целия документ, тогава в горния JSON, тогава просто ще предадем ключа на документа като.
Test
Това ще изтрие целия документ. Ако изобщо не предадем ключа на документа, той също ще изтрие целия документ.
Капани на интервюиращия
Въпрос # 1) Повечето от интервюиращите се опитват да объркат, когато ви питат, че са получили успешно код за отговор за изтриване като 200 вместо като 204. В такъв случай какво да направя? Трябва ли да го докладвам като грешка?
Отговор: Отговорът на горния въпрос е прост. Не е нужно да повдигате грешка. Вместо това можете да говорите с разработчика или да опитате да наблюдавате другия отговор на операцията за изтриване. Код за отговор 200 винаги означава успешната операция и 204 е специфичен за DELETE. Може да има шанс разработчиците да са използвали 200 за всички успешни операции.
В # 2) Как да проверя дали конкретните стойности на полето са верни или не, без да използвам база данни в JSON заявка от 1 милион реда код?
Отговор: Отговорът е чрез изпращане на ключа за документ в операцията GET. Примерният URL адрес ще изглежда както е показано по-долу:
https://resource-name.com/context-key/document-key
В горния URL адрес вашият контекстен ключ еднозначно ще извлече този конкретен JSON от 1 милион записа и ключът на документа ще извлече конкретната стойност на полето в този запис.
В # 3) Ако не посоча никакво име на документ върху моя JSON, какво трябва да предам като ключ на документ, за да извлека целия документ?
Отговор: Можете да предадете всичко. Да точно. Ако нямате посочено име на документ и ако има само полета и стойности, които присъстват във вашия документ, тогава можете да предадете всяка стойност на низ. Този низ ще се третира автоматично като ключ на вашия документ.
Обобщение
Досега трябва да имате добра представа за SOAP и REST уеб услугите, тяхната структура, основни разлики между тях, техните характеристики и употреба.
Освен това в този урок сме разгледали най-често срещаните / важни методи (известни също като глаголи), които се използват в REST услугите заедно с JSON програмирането и JSON пътя за целите на оценката.
PREV Урок | СЛЕДВАЩ урок
Препоръчително четене
- Урок за JSON: Въведение и Пълно ръководство за начинаещи
- Прост подход за тестване на XML към база данни
- 10 най-добри инструмента за тестване на API през 2021 г. (SOAP и REST API инструменти за тестване)
- 15+ урока за SoapUI: Най-добрият инструмент за тестване на API за уеб услуги
- 7 Важни характеристики на SoapUI и SoapUI Pro - Урок 2
- Как да създадете фалшива услуга и динамичен отговор в SoapUI
- Как да създадете REST проект в SoapUI Pro: Урок # 13
- Стъпка по стъпка Процес на изтегляне и инсталиране на SoapUI - Урок № 3 на SoapUI
- Топ 45 въпроси и отговори за интервю за уеб услуги (RESTful, SOAP, въпроси за сигурност)