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 розшифровується як Простий протокол доступу до об’єктів . Протоколи - це не що інше, як набір правил, які ви визначаєте для тесту. Це протокол із повним станом, на відміну від REST, який передбачає використання WSDL (Мова опису веб-служб) для опису веб-служб.
Усі запити та відповіді в SOAP виконуються в XML (розширювана мова розмітки). 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 => Авторизація). Але ви не можете використовувати конверти REST у запиті SOAP.
# два) SOAP є більш безпечним, ніж REST, оскільки він використовує WS-Security для передачі разом із захищеним сокетним шаром.
# 3) SOAP використовує XML лише для запитів та відповідей. У ньому не використовується звичайний текст чи інше.
# 4) SOAP є повноцінним (не бездержавним), оскільки він бере весь запит як одне ціле, на відміну від REST, який забезпечує незалежну обробку різних методів. У SOAP немає незалежної обробки.
Що таке REST Service?
REST розшифровується як Представницький державний трансфер . REST - це архітектура 'без стану', яка включає безліч методів або дієслів під час роботи із запитами та відповідями.
Усі запити та відповіді в REST виконуються у форматі XML, JSON (JavaScript Object Notation) або звичайному тексті. REST швидший за SOAP через залучення JSON (який є легким) до запиту / корисного навантаження REST.
Кожен метод обробляється незалежно в REST, що є причиною того, що його називають архітектурою без громадянства.
Чому REST швидше?
Природа REST без громадянства робить її швидшою, ніж SOAP. Кожне дієслово обробляється незалежно, і в ньому використовується об'єкт JSON, який набагато швидший при переході до якогось конкретного поля документа, що містить більше мільйона записів.
Перш ніж ми почнемо з методів, які використовуються в 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.
Запитання та відповіді на інтерв’ю для підвищення якості
Як ви можете бачити в рядках 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
Це видалить весь документ. Якщо ми взагалі не передаємо ключ документа, він також видалить весь документ.
Пастки інтерв’юера
Q # 1) Більшість інтерв'юерів намагаються заплутати, коли запитують вас, що вони отримали успішний код відповіді на видалення як 200, а не 204. Що в такому випадку потрібно робити? Чи слід повідомляти про це як про помилку?
Відповідь: Відповідь на вищезазначене питання проста. Вам не потрібно піднімати помилку. Натомість ви можете поговорити з розробником або спробувати спостерігати за іншою відповіддю на операцію видалення. Код відповіді 200 завжди означає успішну операцію, а 204 є специфічним для ВИДАЛЕННЯ. Може бути ймовірність того, що розробники використали 200 для всіх успішних операцій.
Запитання №2) Як перевірити, чи конкретні значення полів правильні чи ні, не використовуючи базу даних у JSON-запиті на 1 мільйон рядків коду?
Відповідь: Відповідь полягає в надсиланні ключа документа в операції GET. Зразок URL-адреси буде виглядати так, як показано нижче:
https://resource-name.com/context-key/document-key
У наведеній вище URL-адресі ваш контекстний ключ однозначно отримає цей конкретний JSON із 1 мільйона записів, а ключ документа отримає конкретне значення поля в цьому записі.
Запитання №3) Якщо я не вказав жодного імені документа поверх свого JSON, що я повинен передати як ключ документа, щоб отримати весь документ?
Відповідь: Ви можете здати що завгодно. Так, саме так. Якщо у вас не вказано жодного імені документа, і якщо у вашому документі є лише поля та значення, тоді ви можете передати будь-яке значення рядка. Цей рядок буде автоматично розглядатися як ваш ключ документа.
Резюме
На сьогоднішній день ви повинні мати чітке уявлення про веб-служби SOAP та REST, їх структуру, основні відмінності між ними, їх особливості та використання.
Більше того, у цьому посібнику ми розглянули найпоширеніші / найважливіші методи (також відомі як дієслова), які використовуються в послугах REST разом із програмуванням JSON та шляхом JSON для цілей оцінки.
НАЗАД Підручник | НАСТУПНИЙ підручник
Рекомендована література
- Підручник з JSON: Вступ та повний посібник для початківців
- Простий підхід до тестування баз даних XML
- 10 найкращих засобів тестування API у 2021 році (SOAP та REST API)
- 15+ підручників SoapUI: найкращий інструмент тестування API веб-служб
- 7 найважливіших особливостей SoapUI та SoapUI Pro - Підручник 2
- Як створити фіктивну службу та динамічну відповідь у SoapUI
- Як створити проект REST у SoapUI Pro: Підручник No13
- Покроковий процес завантаження та встановлення SoapUI - Підручник SoapUI No3
- Найпопулярніші 45 запитань та відповідей щодо інтерв’ю веб-служб (RESTful, SOAP, питання безпеки)