Тестирование и валидация REST-сервисов - Spring и Swagger

  Рет қаралды 4,772

Уголок сельского джависта

Уголок сельского джависта

Күн бұрын

При разработке ПО хорошей практикой является описание некоторого контракта, на который будут опираться все компоненты системы при взаимодействии друг с другом.
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов изначально нет. Какое-то время я для этого использовал связку из Spring RestDocs и Spring Cloud Contract, но со временем и возросшей популярностью Swagger переключился на описание REST-сервисов в формате OpenAPI.
В этом ролике я постараюсь наглядно продемонстрировать способ валидации REST-сервисов на Spring при помощи Swagger во время выполнения интеграционных тестов.
Репозиторий проекта: github.com/ale...
#java #spring #swagger #openapi #rest
Мой сайт: alexkosarev.name/
Паблик в VK: public2...
Канал в Telegram: t.me/+TZCuO38v...
Стать доном: donut/s...
Донаты в Boosty: boosty.to/akos...
Донаты в Tinkoff: www.tinkoff.ru...

Пікірлер: 15
@АлександрМышляев-щ5и
@АлександрМышляев-щ5и Жыл бұрын
спасибо что делаешь такой качественный контент
@linaschwarzer507
@linaschwarzer507 Жыл бұрын
Спасибо! Как всегда в тему! Прям уже даже кажется что мысли читаешь. :))
@bryanin
@bryanin Жыл бұрын
Отличное видео! Я бы хотел предложить в качестве идеи к новым видео запроектировать архитектуру какого-нибудь приложения
@krab9512
@krab9512 Жыл бұрын
Спасибо за видео! Планируется ли тема про брокеры сообщений, в частности про Kafka?
@shurik_codes
@shurik_codes Жыл бұрын
Когда-нибудь)
@romanovichihin2429
@romanovichihin2429 Жыл бұрын
лайк, коммент, некст!
@АлександрБугримов-о1е
@АлександрБугримов-о1е Жыл бұрын
Очень круто. Спасибо. А есть опыт в генерации кода на основании openapi спецификации? Мне кажется эта штука не совсем удобной, но... может есть какие-то плюсы этого)
@shurik_codes
@shurik_codes Жыл бұрын
Есть такой опыт, но мне в целом не нравится идея генерации кода. Она может быть удобна для быстрого прототипирования и MVP, но плохо вписывается в архитектуру более серьёзных проектов.
@dmitrelkin9256
@dmitrelkin9256 Жыл бұрын
Спасибо! Очень интересно и полезно - сейчас как раз пытаюсь писать интеграционные тесты - эти уроки очень помогают.
@chesseranapa
@chesseranapa Жыл бұрын
Спасибо большое. Благодаря таким видео, кругозор повышается. Копнул чуть вглубь, openApi, в get, конечно, тоже позволяет добавлять заголовки в запросе. Только делается это через параметры с указанием места их расположения. Потому в помощнике кода и не отображалось.
@АлександрБугримов-о1е
@АлександрБугримов-о1е Жыл бұрын
Подскажи, а как можно было бы имеющуюся swagger спецификацию (yaml или json файл) рендерить в виде html? Ну что-то вроде поднимается сервис, заходишь по определенному углу и получаешь спецификацию для например тестирования?
@shurik_codes
@shurik_codes Жыл бұрын
Не задумывался над таким вариантом использования. Обычно у меня работа с UI OpenAPI-контракта происходит либо в IDE, либо в GitLab. Последний пытается рендерить файлы opeapi.json или openapi.yml при просмотре их в браузере. Как показала практика, этого вполне достаточно. Для ручного тестирования нужно только прописать тестовый сервер в списке серверов. Но вообще могу предположить такой вариант: при сборке проекта файл со спецификацией рендерить при помощи какой-нибудь утилиты (например, redoc-cli из NPM) и полученный файл складывать в директорию со статическим содержимым, если хочется, чтобы UI был доступен в сервисе. Вполне возможно, что Springfox может делать что-то подобное.
@timlins
@timlins Жыл бұрын
молодец. Человеку важно реализовывать себя и если есть что рассказать и показать что то важное - делай )
@Алексейм-с7б
@Алексейм-с7б 11 ай бұрын
герман, выйди в о к н о
@stainlesssteel95
@stainlesssteel95 11 ай бұрын
Да + оставь парня в покое@@Алексейм-с7б
Keycloak и Spring Security
37:37
Уголок сельского джависта
Рет қаралды 14 М.
Spring ultimate basics: What are Spring Beans and what is the Spring Container?
16:30
Worst flight ever
00:55
Adam W
Рет қаралды 26 МЛН
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 17 МЛН
规则,在门里生存,出来~死亡
00:33
落魄的王子
Рет қаралды 16 МЛН
Spring по верхам: Разработка REST-сервиса
40:55
Уголок сельского джависта
Рет қаралды 10 М.
JWT-аутентификация для нативных приложений - Spring Security
1:20:22
Уголок сельского джависта
Рет қаралды 9 М.
Spring по верхам: Тестирование REST-сервиса
44:32
Уголок сельского джависта
Рет қаралды 14 М.
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 37 М.
Кратко про OpenAPI и Swagger
26:43
IT как Конструктор
Рет қаралды 54 М.
Spring boot 3 - OpenApi Documentation | Swagger UI
35:09
Bouali Ali
Рет қаралды 64 М.