- 20
- 284 610
IT как Конструктор
Приєднався 18 чер 2013
Канал о различных по/технологиях, упрощающих жизнь в разработке.
По вопросам менторства можно писать в Telegram: t.me/MorkovkA_57
По вопросам менторства можно писать в Telegram: t.me/MorkovkA_57
Api First подход - Генерация кода по OpenAPI спецификации при компиляции
Добавляем OpenAPI / Swagger спецификацию в код проекта, подключаем OpenAPI Generator для автогенерации исходников при компиляции. Пишем свою реализацию для сгенерированных API интерфейсов.
Пример показывает как настроить с нуля проект для реализации Api First (Contract First) подхода. Используется kotlin + spring boot.
00:00 Введение
01:03 Создаем проект
02:24 Настраиваем плагин для генерации
05:05 Настраиваем Swagger UI
07:07 Создаем свой Controller
07:54 Настраиваем Spring Component Scan
10:03 Пишем код для CRUD обработки
14:02 Результат
Полезные ссылки:
Cоздание OpenAPI спецификации: ua-cam.com/video/hPzorok-gI4/v-deo.html
Генерация сервера по OpenAPI спецификации (Часть 1): ua-cam.com/video/HAGSYTN7lZQ/v-deo.html
Исходники проекта на GitHub: github.com/MorkovkAs/openapi-example-toys-autogen
OpenAPI Generator Gradle Plugin: clck.ru/35kzjZ
#openapi #swagger #openapi-generator #generator #tutorial #examples #java #kotlin #spring #REST #API
Пример показывает как настроить с нуля проект для реализации Api First (Contract First) подхода. Используется kotlin + spring boot.
00:00 Введение
01:03 Создаем проект
02:24 Настраиваем плагин для генерации
05:05 Настраиваем Swagger UI
07:07 Создаем свой Controller
07:54 Настраиваем Spring Component Scan
10:03 Пишем код для CRUD обработки
14:02 Результат
Полезные ссылки:
Cоздание OpenAPI спецификации: ua-cam.com/video/hPzorok-gI4/v-deo.html
Генерация сервера по OpenAPI спецификации (Часть 1): ua-cam.com/video/HAGSYTN7lZQ/v-deo.html
Исходники проекта на GitHub: github.com/MorkovkAs/openapi-example-toys-autogen
OpenAPI Generator Gradle Plugin: clck.ru/35kzjZ
#openapi #swagger #openapi-generator #generator #tutorial #examples #java #kotlin #spring #REST #API
Переглядів: 5 370
Відео
REST API - Как сделать хорошо
Переглядів 18 тис.Рік тому
В этом видео я расскажу основные принципы при проектирование REST API, которых стоит придерживаться, чтобы ваше описание было понятным и удобным для использования. Первый шаг перед созданием отличной OpenAPI или Swagger спецификации. 00:00 Введение 01:33 Запрос / Request 07:55 Ответ / Response Готовая OpenAPI спецификация: clck.ru/32rzdu #REST #API #tutorial #openapi #swagger #examples
Проблемы с Apache NiFi и как с ними бороться. Наш опыт
Переглядів 2,1 тис.2 роки тому
Поделюсь опытом, полученным за время работы над проектом, в котором мы увлеклись и сделали больше 3к процессоров в Apache NiFi. Будут как типовые проблемы, так и советы, и варианты их решения. 00:00 Введение 00:41 Наш проект 04:10 На что обратить внимание 11:48 Советы 12:54 Легко ли с нуля разобраться 13:41 NiFi Registry 15:19 Кластер и репликация #Apache #NiFi #Tutorial #Examples
Автотесты для REST сервиса и его OpenAPI / Swagger спецификации
Переглядів 7 тис.2 роки тому
Проверяем с помощью Dredd, соответствует ли сервис своей OpenAPI и Swagger спецификации. Как можно автоматизировать этот процесс. Настраиваем Dredd для тестирования сервиса "Магазин игрушек" из прошлого видео ( ua-cam.com/video/HAGSYTN7lZQ/v-deo.html ). 00:00 Введение 01:59 Прикручиваем Dredd 03:54 Первые результаты 05:52 Пишем код для CRUD обработки 10:24 Результат Готовая спецификация: GitHub...
OpenAPI Generator - Генерация кода по спецификации
Переглядів 22 тис.2 роки тому
Создаем код по OpenAPI / Swagger спецификации с помощью OpenAPI Generator (аналог Swagger Codegen) и исправляем базовые ошибки после автогенерации. В примере используется java spring boot. 00:00 Введение 00:53 Установка OpenAPI Generator 01:27 Генерация кода 03:29 Исправляем ошибки 07:56 Результат Готовая спецификация: GitHub Link: clck.ru/sT7kq Google Disc Link: clck.ru/sT7nk #openapi #swagger...
Выкачиваем код Apache NiFi. Меняем под себя и делаем UI для процессора
Переглядів 1 тис.2 роки тому
Выкачиваем код Apache NiFi, смотрим, что в нем можно легко поменять под себя. Разбираем создание кастомного UI для процессора. 00:00 Введение 00:41 Пример доработанного интерфейса 00:48 Git Clone Сборка кода 02:05 Сборка только своих изменений 02:54 Локализация 03:26 Новая иконка на панели инструментов 04:59 Кастомный UI процессора 07:10 Кастомный Content Viewer 07:54 Полезные ссылки 08:16 Вопр...
Как ускорить процессоры в Apache NiFi. Оптимизация
Переглядів 1,2 тис.2 роки тому
Быстрый способ ускорить большинство процессоров в Apache NiFi. Используем параметр run duration. #Apache #NiFi #Tutorial #Examples
OpenAPI и Swagger Editor - своё описание REST API с нуля
Переглядів 92 тис.2 роки тому
Создаем OpenAPI спецификацию с нуля в Swagger Editor. В видео показан весь процесс проектирования REST API для вымышленного магазина игрушек от самого старта до конца. 00:00 Введение 00:25 Создание спецификации 04:44 Описание объектов в API 10:09 Параметры 15:12 Результат Готовая спецификация: GitHub Link: clck.ru/sT7kq Google Disk Link: clck.ru/sT7nk #openapi #swagger #tutorial #examples #REST...
Первый опыт в OpenAPI / Swagger - это PetStore проект
Переглядів 20 тис.2 роки тому
Изучение OpenAPI и Swagger начинается с PetStrore проекта. Разберемся в функционале Swagger UI, немного Insomnia (аналог Swagger Editor) и, конечно же, поотправляем запросы. Sorry за пропавший курсор:) Ссылка на проект: petstore.swagger.io/ #openapi #Swagger #Tutorial #Examples #PetStore #REST #API
Кратко про OpenAPI и Swagger
Переглядів 59 тис.2 роки тому
Обзор возможностей OpenAPI и Swagger и преимуществ, которые они дают. 00:00 Введение 00:33 REST 02:28 Что такое OpenAPI и Swagger? 14:08 Swagger Framework 15:07 OpenAPI Tools 16:17 Играемся с pet project 20:12 Вопросы Полезные ссылки на доклады от Яндекса: habr.com/ru/company/yandex/blog/501088/ ua-cam.com/video/lYjm2w8-ERI/v-deo.html #OpenAPI #Swagger #Tutorial #Examples #REST #API #smartbear
Сравнение Java 11 vs 17 LTS
Переглядів 1,7 тис.2 роки тому
Обзор фич, которые постепенно появлялись в Java, начиная с 11ой версии. 00:00 Введение 02:37 Java 12 03:36 Java 13 04:13 Java 14 07:25 Java 15 08:22 Java 16 11:22 Java 17 #Java #Java11 #Java17 #LTS
Обзор Keycloak и настройка SSO в NiFi
Переглядів 6 тис.2 роки тому
Обзор возможностей и настройка Keycloak для управления пользователями и ролями и реализации механизма Single Sign On (SSO) в Apache NiFi. 00:00 Обзор решения 08:12 Интерфейс Keycloack 10:40 NiFi и Keycloack 18:00 Вопросы #Keycloak #SSO #Apache #NiFi #Registry #Tutorial #Examples #ETL #ELT
Git, Apache NiFi Registry и CI/CD
Переглядів 2,2 тис.3 роки тому
Apache NiFi Tutorial. 2 часть про экспорт и импорт потоков в NiFi. Воспользуемся NiFi Toolkit и научимся автоматически выгружать поток в Git. Всё, что нужно для полноценного старта с CI/CD. 00:00 Интро 00:16 Apache NiFi Cli 04:43 NiFi Registry Git = CI/CD 08:58 Итоги и минусы Registry #Apache #NiFi #Registry #Tutorial #Examples #ETL #ELT
Экспорт и импорт потоков с помощью рук, Rest Api и Apache NiFi Registry
Переглядів 2 тис.3 роки тому
Apache NiFi Tutorial. Как выгрузить процесс из Apache NiFi и не потерять по пути данные. Выполняем основные действия несколькими способами. Ручным в интерфейсе NiFi, отправкой запросов через NiFi Rest Api и используя NiFi Registry. 00:00 Интро 00:27 Экспорт шаблона 02:23 Импорт шаблона 03:29 Чуток автоматизируем. Rest Api 06:45 При чем тут NiFi Registry. Чем он лучше? Ссылка на описание Rest Ap...
Apache NiFi Registry Install v1.14.0
Переглядів 1,2 тис.3 роки тому
Как установить Apache NiFi Registry на примере v1.14.0 кратко о его функционале. 00:00 Скачиваем архив 00:28 Запускаем NiFi Registry 01:00 Открываем интерфейс NiFi Registry 01:40 Интегрируем NiFi с NiFi Registry 02:03 Включаем версионирование потока в NiFi 02:44 Проверяем результат в NiFi Regisrty 02:58 Анонс следующего видео #Apache #NiFi #Registry #Install #Examples #Установка #ETL #ELT
История изменений данных в Apache NiFi. Data Provenance
Переглядів 1,3 тис.3 роки тому
История изменений данных в Apache NiFi. Data Provenance
Apache NiFi особенности. Без чего не выйти в прод
Переглядів 4,3 тис.3 роки тому
Apache NiFi особенности. Без чего не выйти в прод
Процессоры в Apache NiFi и не только. Разбираемся с деталями конструктора
Переглядів 8 тис.3 роки тому
Процессоры в Apache NiFi и не только. Разбираемся с деталями конструктора
Apache NiFi. Введение и первый опыт на практике. Это же конструктор!
Переглядів 19 тис.3 роки тому
Apache NiFi. Введение и первый опыт на практике. Это же конструктор!
Я как-то пропустил момент касающийся Схем. (schema) что ? откуда куда?))
Впервые пишу комент на тьюбе) просто хочется человеку сказать СПАСИБО!
Подскажите, в url сервера что писать? Постоянно выдаёт ошибку
бля базиришь, более и не нужно, спасибо
Видео супер! Но вопрос не совсем по теме. Как так окна разделить удобно??
Ахахаха, спасибо))) На Винде зажать кнопку win и стрелочки вправо влево. Текущее открытое приложение займет пол экрана. А дальше можно курсоров додвинуть, если надо не половину, а как-то иначе.
MOLODETS
Меня улыбнуло: «сразу исправлю небольшую ошибку» *удалил кусок кода* Готово!😂😂
Помогите пожалуйста написать апи для интеграции с внешними системами на примере управления персоналом
около бесполезное видео, которое ничего толком и не объясняет.
Не совсем понимаю, как увеличение потоков может уменьшить время выполнения процесса при запросе по сети. Ведь пока данные из ответа запроса не пришли следующий процессор не сможет обрабатывать сформированные из запроса флоу-файлы.
вы чо там у себя при создании сущности в ответ возвращаете 200 а не 201? лол кек чебурек
И что?
Почему все слайды на английском, а повествование на русском?
а че
Антон, спасибо большое за это видео и за подробное объяснение ваших действий
Как же все таки не править сгенерированный код а поправить спецификацию так чтобы возвращался массив?
Подскажите пожалуйста, в каком в виде хранятся документы в swagger?
6:48
Тихая запись. можно и погромче )
Понял, благодарю!
Весело и просто! Спасибо!
Рад стараться!
Cпасибо Вам огромное! Очень познавательно. Могу я попросить Вас об одолжении написать пошагово, что было сделано? В ролике не удалось уловить.Заранее спасибо!
Здравствуйте, на мой взгляд, лучше посоветую вам посмотреть моё последнее видео на эту тему ua-cam.com/video/DEdVGeua498/v-deo.html . Там уже учтены изменения, внесённые за год, большая часть дефектов в библиотеке, о которых тут была речь в видео, поправлена. Плюс там есть ссылка на гитхаб. Надеюсь, это поможет вам.
Очень просто и доходчиво, прекрасны и подача, и сам материал. Большое спасибо!
И вам спасибо за слова!
ОГРОМНОЕ СПАСИБО!!!!!!
Пожалуйста!
@@IT_like_bricks_building единственный ролик, который на практике показал как с этой штуковиной справиться! Еще раз спасибо!
Успехов вам!
11:00 Не метод /pets, а ресурс /pets или путь
Это уже из категории "правильный ответ для собеседования". В целом да, спасибо за ремарку, но я не считаю это кричиным для повседневного. Учитывая, что в коде это методы. Хотя в некоторых языках принято называть функции.
начала работать системным аналитиком, помогли, спасибо
Отлично, успехов вам!
А данная инструкция актуальна еще?
Формально да. Когда выпустят 2.0, там, наверное, что-то изменится
Не совсем поняла, зачем при разговоре про Swagger показывать интерфейс Инсомния? просто как аналог? Так я видео смотрю, чтоб про Swagger узнать
Отличный вопрос на самом деле! Спасибо. Чтобы ответить на него, нужно сначала понять, что вы подразумеваете под swagger. Программы (их там несколько) или спецификацию. Видео (как и большая часть моего плейлиста) плавно подводило к современной openapi спецификации. А чем ее создавать и просматривать, это дело вкуса и лицензий.
Очень понятные объяснения. Спасибо огромное.
Пожалуйста!
Спасибо!
Воды бы поменьше, слушать ужасно
Здравствуйте, сейчас через nifi делаю авторизацию в keycloak с помощью логина и пароля. Далее после успешной авторизации - получаю токен А как можно реализовать с помощью клиентского сертификата? То есть как можно авторизоваться с помощью клиентского сертификата
Подскажи, а как добавляется сущность чтобы указывать производителя игрушки?
очень тихо((
Супер, спасибо, как раз то, что я и искала: максимум практики!
Отлично, успехов вам!
дай Бог тебе здоровья и девушку с 4 размером груди автор! Спасибо!😄
Благодарю))))
Счастья, здоровья, детей красивых. Ментальное здоровье сохранено благодаря этому видео! 😅
Благодарю!))
так, а как получившееся описание использовать-то? что сделать чтобы на моем сервере так же красиво открывалось как в редакторе?
Использований много, начиная от красивого описания, заканчивая кодогенерацией. Подтяните зависимость swagger-ui к вашему проекту
swagger ui
@@IT_like_bricks_building Подскажите как подтянуть? как сделать так, что документация была в моем проекте по определенному урлу, приложение написано раньше чем дока, вот теперь сформированную доку в editore нужно как-то разместить в проекте, по определенной ссылке, подскажите как??? пожалуйста!
Немного поздно заметил вопрос, думаю, вы уже справились. Но ответ таков, что подключаем в проект зависимость swagger ui, и там указываем путь к спецификации. По итогу при старте модуля на url:port/swagger-ui/index.html (вроде бы так) откроется ваша спецификация
Swagger Editor позволяет держать конфиденциальную информацию о своем проекте в открытом доступе? Как публиковать свою спецификацию? Надо ли быть зарегистрированным? Может это платно вести свои спецификации для своей компании..?
Если вы говорите именно про работу с Swagger Editor, то я не подскажу, я им не пользуюсь. Только для кратких демонстраций. Расскажу про наш опыт. Есть много редакторов openapi схем, внутри продуктов jetbrains, insomnia и тд. Соответственно это становится частью кодовой базы компании, выкладывает в гит. Публикация схемы = 1. ссылка на поднятый swagger-ui конкретного модуля с openapi схемой (url:port/swagger-ui/index.html). 2. ссылка в гит на спецификацию. 3. просто файл переслать со спецификацией. Мы создаем спецификации внутри intellij idea, для целей внешних интеграций даем ссылку на swagger-ui (п1 выше).
Здравствуйте при запуске файла run-nifi.bat вот такая ошибка: Command Failed to determine Process ID from [java.lang.ProcessImpl]: java.lang.Process.pid() подкажите
У меня была ошибка. Сначала хотел разархивировать на диск D, потом поставил на тот путь, который он предлагал по умолчанию. заработало без проблем. мб вы просто тоже путь изменяли. Больше решений не знаю. Надеюсь, что помог или вы уже решили эту проблему
Спасибо + В карму
спасибо
судя по этому видосу OpenAPI - мусор, и проще самому писать код для rest сервера. жаль, ведь идея не плохая генерировать код для этих целей автоматически.
Чуть ранее кто-то из подписчиков писал, что эти дефекты уже пофиксили. Так что должно быть норм. Лично мы в проекте без допиливания прекрасно нынче используем. Последнее видео по генерации кода у меня на канале как раз про наш текущий (+/-) подход.
@@IT_like_bricks_building прежде всего кстате спасибо за видосы, а то я набросился как-то внезапно. ну а вообще когда компилируешь шаблон, то компилятор должен либо давать ошибку и не компилировать, либо компилировать в полном соответствии с шаблоном. представь, компилируешь js через babel и всё проходит без ошибок, но потом оказываеться что функция helloWorld() была просто тупо выпилена из кода. это ж просто нонсенс.
Плюсую)) мы сейчас сделали хитро, мы на ci/cd сделали таск по валидации openapi схемы, чтобы как раз не вышло описанной ситуации. В целом отлавливали пару раз косяки
Можно ли в одном запросе создать несколько "питомцев"?
Да, в body делаем массив, и сервер будет создавать сразу несколько, если его так запрограммировать
@@IT_like_bricks_buildingделаю такой массив, но возвращает 500…валидатором проверил json, вроде бы как все ок…
Без этого видео я скорее всего пошел на зарубежный ютуб, ибо на РФ ничего норм найти не смог. Видео очень пригодилось. Большое тебе спасибо!
Спасибо за такие слова!
Классно, не знаю, как отблагодарить, так что подписался
Супер, что было полезно)
четко и понятно, спасибо!
есть разбор оформления документации по АПИ Аналитиками для разработчиков: к примеру, описали мы в сваггере АПИ, что дальше с этим делать?
Достаточно ли разработке ссылки (на сваггер) на данный формат описания АПИ?
Ссылки достаточно для разработчиков. Там исчерпывающая инфа для создания Api. Останется только бизнес логику описать, то есть какие действия модуль делает при получении определенного запроса
@@IT_like_bricks_building Спасибо большое от системного аналитика!
errorCode мой случай) бизнес логика может содержать свои состояния. Например http может быть 200 но по бизнес логике запрос будет отклонен - не страшно. Но например по бизнес логике нужно передать успешный код в параметре errorCode. С точки зрения семантики может здесь лучше использовать например statusCode? Как правильно, поделитесь?
Воо, отличный пример)) В вашем случае, соглашусь, errorCode точно как-то не очень будет выглядеть. statusCode гораздо лучше, главное, что бы все участники процесса четко отличали его от http status code (в документации, в openApi спецификации).
а если нет вкладок create template/upload template ?(другая версия nifi видимо)
А какая у вас? У меня сейчас 24 стоит и вроде как есть кнопки
Вот уж действительно it как конструктор лего
Познавательно!
Спасибо за хорошее видео! Программа dredd не обновлялась более года. Не свидетельствует ли это о затухании проекта? Есть ли какие похожие проекты для тестирования API по спецификации?
Пожалуйста. Да, dredd подустарел чуток, но все равно хорош. Microcks можно как next level рассмотреть.
1) Почему у вас имя пользователя при изменении providers.xml MorkovkA's, хотя должно быть MorkovkAs? 2) Надо добавлять origin в Remote To Push часть тоже?
Хороший вопрос, вернусь с ответом немного позже)