IT как Конструктор
IT как Конструктор
  • Видео 20
  • Просмотров 267 875
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 спецификации: ruclips.net/video/hPzorok-gI4/видео.html
Генерация сервера по OpenAPI спецификации (Часть 1): ruclips.net/video/H...
Просмотров: 4 831

Видео

REST API - Как сделать хорошо
Просмотров 17 тыс.Год назад
В этом видео я расскажу основные принципы при проектирование 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 спецификации
Просмотров 6 тыс.2 года назад
Проверяем с помощью Dredd, соответствует ли сервис своей OpenAPI и Swagger спецификации. Как можно автоматизировать этот процесс. Настраиваем Dredd для тестирования сервиса "Магазин игрушек" из прошлого видео ( ruclips.net/video/HAGSYTN7lZQ/видео.html ). 00:00 Введение 01:59 Прикручиваем Dredd 03:54 Первые результаты 05:52 Пишем код для CRUD обработки 10:24 Результат Готовая спецификация: GitHu...
OpenAPI Generator - Генерация кода по спецификации
Просмотров 21 тыс.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 с нуля
Просмотров 87 тыс.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 проект
Просмотров 18 тыс.2 года назад
Изучение OpenAPI и Swagger начинается с PetStrore проекта. Разберемся в функционале Swagger UI, немного Insomnia (аналог Swagger Editor) и, конечно же, поотправляем запросы. Sorry за пропавший курсор:) Ссылка на проект: petstore.swagger.io/ #openapi #Swagger #Tutorial #Examples #PetStore #REST #API
Кратко про OpenAPI и Swagger
Просмотров 54 тыс.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/ ruclips.net/video/lYjm2w8-ERI/видео.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,1 тыс.2 года назад
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 тыс.2 года назад
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 тыс.2 года назад
Как установить 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 тыс.2 года назад
История изменений данных в Apache NiFi. Data Provenance
Apache NiFi особенности. Без чего не выйти в прод
Просмотров 4,2 тыс.3 года назад
Apache NiFi особенности. Без чего не выйти в прод
Процессоры в Apache NiFi и не только. Разбираемся с деталями конструктора
Просмотров 8 тыс.3 года назад
Процессоры в Apache NiFi и не только. Разбираемся с деталями конструктора
Apache NiFi Install v1.14.0
Просмотров 10 тыс.3 года назад
Apache NiFi Install v1.14.0
Apache NiFi. Введение и первый опыт на практике. Это же конструктор!
Просмотров 18 тыс.3 года назад
Apache NiFi. Введение и первый опыт на практике. Это же конструктор!

Комментарии

  • @tashtanov-q3p
    @tashtanov-q3p 6 дней назад

    MOLODETS

  • @samaleycom
    @samaleycom 7 дней назад

    Меня улыбнуло: «сразу исправлю небольшую ошибку» *удалил кусок кода* Готово!😂😂

  • @ЗайнабАшикова-й4с
    @ЗайнабАшикова-й4с 23 дня назад

    Помогите пожалуйста написать апи для интеграции с внешними системами на примере управления персоналом

  • @andrushka324
    @andrushka324 Месяц назад

    около бесполезное видео, которое ничего толком и не объясняет.

  • @ipabogdanov
    @ipabogdanov Месяц назад

    Не совсем понимаю, как увеличение потоков может уменьшить время выполнения процесса при запросе по сети. Ведь пока данные из ответа запроса не пришли следующий процессор не сможет обрабатывать сформированные из запроса флоу-файлы.

  • @Zadr01
    @Zadr01 Месяц назад

    вы чо там у себя при создании сущности в ответ возвращаете 200 а не 201? лол кек чебурек

  • @dopetag
    @dopetag Месяц назад

    Почему все слайды на английском, а повествование на русском?

  • @Тори-я8л
    @Тори-я8л 2 месяца назад

    Антон, спасибо большое за это видео и за подробное объяснение ваших действий

  • @al77ex1
    @al77ex1 2 месяца назад

    Как же все таки не править сгенерированный код а поправить спецификацию так чтобы возвращался массив?

  • @Vesna7-rt
    @Vesna7-rt 2 месяца назад

    Подскажите пожалуйста, в каком в виде хранятся документы в swagger?

  • @YuraPrimyshev
    @YuraPrimyshev 3 месяца назад

    6:48

  • @igork5095
    @igork5095 3 месяца назад

    Тихая запись. можно и погромче )

  • @ApocalypsisPK
    @ApocalypsisPK 3 месяца назад

    Весело и просто! Спасибо!

  • @soldieroffortune3561
    @soldieroffortune3561 3 месяца назад

    Cпасибо Вам огромное! Очень познавательно. Могу я попросить Вас об одолжении написать пошагово, что было сделано? В ролике не удалось уловить.Заранее спасибо!

    • @IT_like_bricks_building
      @IT_like_bricks_building 3 месяца назад

      Здравствуйте, на мой взгляд, лучше посоветую вам посмотреть моё последнее видео на эту тему ruclips.net/video/DEdVGeua498/видео.html . Там уже учтены изменения, внесённые за год, большая часть дефектов в библиотеке, о которых тут была речь в видео, поправлена. Плюс там есть ссылка на гитхаб. Надеюсь, это поможет вам.

  • @МаксимГ-ю9в
    @МаксимГ-ю9в 3 месяца назад

    Очень просто и доходчиво, прекрасны и подача, и сам материал. Большое спасибо!

  • @charodeika.06
    @charodeika.06 4 месяца назад

    ОГРОМНОЕ СПАСИБО!!!!!!

    • @IT_like_bricks_building
      @IT_like_bricks_building 4 месяца назад

      Пожалуйста!

    • @charodeika.06
      @charodeika.06 4 месяца назад

      @@IT_like_bricks_building единственный ролик, который на практике показал как с этой штуковиной справиться! Еще раз спасибо!

    • @IT_like_bricks_building
      @IT_like_bricks_building 4 месяца назад

      Успехов вам!

  • @khasanshadiyarov
    @khasanshadiyarov 4 месяца назад

    11:00 Не метод /pets, а ресурс /pets или путь

    • @IT_like_bricks_building
      @IT_like_bricks_building 4 месяца назад

      Это уже из категории "правильный ответ для собеседования". В целом да, спасибо за ремарку, но я не считаю это кричиным для повседневного. Учитывая, что в коде это методы. Хотя в некоторых языках принято называть функции.

  • @КаринаПогосян-ь8л
    @КаринаПогосян-ь8л 4 месяца назад

    начала работать системным аналитиком, помогли, спасибо

  • @lohmatuy
    @lohmatuy 4 месяца назад

    А данная инструкция актуальна еще?

    • @IT_like_bricks_building
      @IT_like_bricks_building 4 месяца назад

      Формально да. Когда выпустят 2.0, там, наверное, что-то изменится

  • @anastasiyastar4
    @anastasiyastar4 5 месяцев назад

    Не совсем поняла, зачем при разговоре про Swagger показывать интерфейс Инсомния? просто как аналог? Так я видео смотрю, чтоб про Swagger узнать

    • @IT_like_bricks_building
      @IT_like_bricks_building 5 месяцев назад

      Отличный вопрос на самом деле! Спасибо. Чтобы ответить на него, нужно сначала понять, что вы подразумеваете под swagger. Программы (их там несколько) или спецификацию. Видео (как и большая часть моего плейлиста) плавно подводило к современной openapi спецификации. А чем ее создавать и просматривать, это дело вкуса и лицензий.

  • @НатальяРуфс
    @НатальяРуфс 5 месяцев назад

    Очень понятные объяснения. Спасибо огромное.

  • @vzenkin
    @vzenkin 5 месяцев назад

    Спасибо!

  • @Rmakulin
    @Rmakulin 5 месяцев назад

    Воды бы поменьше, слушать ужасно

  • @Axbd-p4i
    @Axbd-p4i 5 месяцев назад

    Здравствуйте, сейчас через nifi делаю авторизацию в keycloak с помощью логина и пароля. Далее после успешной авторизации - получаю токен А как можно реализовать с помощью клиентского сертификата? То есть как можно авторизоваться с помощью клиентского сертификата

  • @fixcay7129
    @fixcay7129 5 месяцев назад

    Подскажи, а как добавляется сущность чтобы указывать производителя игрушки?

  • @ЛеонидПескин-з7ы
    @ЛеонидПескин-з7ы 6 месяцев назад

    очень тихо((

  • @НадеждаШумская-б7т
    @НадеждаШумская-б7т 6 месяцев назад

    Супер, спасибо, как раз то, что я и искала: максимум практики!

  • @barristan1960
    @barristan1960 6 месяцев назад

    дай Бог тебе здоровья и девушку с 4 размером груди автор! Спасибо!😄

  • @alinad8971
    @alinad8971 6 месяцев назад

    Счастья, здоровья, детей красивых. Ментальное здоровье сохранено благодаря этому видео! 😅

  • @yalmeme
    @yalmeme 6 месяцев назад

    так, а как получившееся описание использовать-то? что сделать чтобы на моем сервере так же красиво открывалось как в редакторе?

    • @IT_like_bricks_building
      @IT_like_bricks_building 6 месяцев назад

      Использований много, начиная от красивого описания, заканчивая кодогенерацией. Подтяните зависимость swagger-ui к вашему проекту

    • @Zadrot1080p
      @Zadrot1080p 5 месяцев назад

      swagger ui

    • @ElenaVi93
      @ElenaVi93 Месяц назад

      @@IT_like_bricks_building Подскажите как подтянуть? как сделать так, что документация была в моем проекте по определенному урлу, приложение написано раньше чем дока, вот теперь сформированную доку в editore нужно как-то разместить в проекте, по определенной ссылке, подскажите как??? пожалуйста!

  • @nikitazhigalov913
    @nikitazhigalov913 6 месяцев назад

    Swagger Editor позволяет держать конфиденциальную информацию о своем проекте в открытом доступе? Как публиковать свою спецификацию? Надо ли быть зарегистрированным? Может это платно вести свои спецификации для своей компании..?

    • @IT_like_bricks_building
      @IT_like_bricks_building 6 месяцев назад

      Если вы говорите именно про работу с Swagger Editor, то я не подскажу, я им не пользуюсь. Только для кратких демонстраций. Расскажу про наш опыт. Есть много редакторов openapi схем, внутри продуктов jetbrains, insomnia и тд. Соответственно это становится частью кодовой базы компании, выкладывает в гит. Публикация схемы = 1. ссылка на поднятый swagger-ui конкретного модуля с openapi схемой (url:port/swagger-ui/index.html). 2. ссылка в гит на спецификацию. 3. просто файл переслать со спецификацией. Мы создаем спецификации внутри intellij idea, для целей внешних интеграций даем ссылку на swagger-ui (п1 выше).

  • @vadimgurlenko6373
    @vadimgurlenko6373 7 месяцев назад

    Здравствуйте при запуске файла run-nifi.bat вот такая ошибка: Command Failed to determine Process ID from [java.lang.ProcessImpl]: java.lang.Process.pid() подкажите

    • @бебезян
      @бебезян 6 месяцев назад

      У меня была ошибка. Сначала хотел разархивировать на диск D, потом поставил на тот путь, который он предлагал по умолчанию. заработало без проблем. мб вы просто тоже путь изменяли. Больше решений не знаю. Надеюсь, что помог или вы уже решили эту проблему

  • @kolob204
    @kolob204 7 месяцев назад

    Спасибо + В карму

  • @наойдан
    @наойдан 7 месяцев назад

    спасибо

  • @404Negative
    @404Negative 7 месяцев назад

    судя по этому видосу OpenAPI - мусор, и проще самому писать код для rest сервера. жаль, ведь идея не плохая генерировать код для этих целей автоматически.

    • @IT_like_bricks_building
      @IT_like_bricks_building 7 месяцев назад

      Чуть ранее кто-то из подписчиков писал, что эти дефекты уже пофиксили. Так что должно быть норм. Лично мы в проекте без допиливания прекрасно нынче используем. Последнее видео по генерации кода у меня на канале как раз про наш текущий (+/-) подход.

    • @404Negative
      @404Negative 7 месяцев назад

      @@IT_like_bricks_building прежде всего кстате спасибо за видосы, а то я набросился как-то внезапно. ну а вообще когда компилируешь шаблон, то компилятор должен либо давать ошибку и не компилировать, либо компилировать в полном соответствии с шаблоном. представь, компилируешь js через babel и всё проходит без ошибок, но потом оказываеться что функция helloWorld() была просто тупо выпилена из кода. это ж просто нонсенс.

    • @IT_like_bricks_building
      @IT_like_bricks_building 7 месяцев назад

      Плюсую)) мы сейчас сделали хитро, мы на ci/cd сделали таск по валидации openapi схемы, чтобы как раз не вышло описанной ситуации. В целом отлавливали пару раз косяки

  • @alextopal2227
    @alextopal2227 7 месяцев назад

    Можно ли в одном запросе создать несколько "питомцев"?

    • @IT_like_bricks_building
      @IT_like_bricks_building 7 месяцев назад

      Да, в body делаем массив, и сервер будет создавать сразу несколько, если его так запрограммировать

    • @alextopal2227
      @alextopal2227 7 месяцев назад

      @@IT_like_bricks_buildingделаю такой массив, но возвращает 500…валидатором проверил json, вроде бы как все ок…

  • @prostoprosa
    @prostoprosa 7 месяцев назад

    Без этого видео я скорее всего пошел на зарубежный ютуб, ибо на РФ ничего норм найти не смог. Видео очень пригодилось. Большое тебе спасибо!

  • @DubinArtur
    @DubinArtur 8 месяцев назад

    Классно, не знаю, как отблагодарить, так что подписался

  • @ДеметрР
    @ДеметрР 8 месяцев назад

    четко и понятно, спасибо!

    • @ДеметрР
      @ДеметрР 8 месяцев назад

      есть разбор оформления документации по АПИ Аналитиками для разработчиков: к примеру, описали мы в сваггере АПИ, что дальше с этим делать?

    • @ДеметрР
      @ДеметрР 8 месяцев назад

      Достаточно ли разработке ссылки (на сваггер) на данный формат описания АПИ?

    • @IT_like_bricks_building
      @IT_like_bricks_building 8 месяцев назад

      Ссылки достаточно для разработчиков. Там исчерпывающая инфа для создания Api. Останется только бизнес логику описать, то есть какие действия модуль делает при получении определенного запроса

    • @ДеметрР
      @ДеметрР 8 месяцев назад

      @@IT_like_bricks_building Спасибо большое от системного аналитика!

  • @ДмитрийТарасевич-в3ц
    @ДмитрийТарасевич-в3ц 8 месяцев назад

    errorCode мой случай) бизнес логика может содержать свои состояния. Например http может быть 200 но по бизнес логике запрос будет отклонен - не страшно. Но например по бизнес логике нужно передать успешный код в параметре errorCode. С точки зрения семантики может здесь лучше использовать например statusCode? Как правильно, поделитесь?

    • @IT_like_bricks_building
      @IT_like_bricks_building 8 месяцев назад

      Воо, отличный пример)) В вашем случае, соглашусь, errorCode точно как-то не очень будет выглядеть. statusCode гораздо лучше, главное, что бы все участники процесса четко отличали его от http status code (в документации, в openApi спецификации).

  • @NotBad-j5e
    @NotBad-j5e 8 месяцев назад

    а если нет вкладок create template/upload template ?(другая версия nifi видимо)

    • @IT_like_bricks_building
      @IT_like_bricks_building 8 месяцев назад

      А какая у вас? У меня сейчас 24 стоит и вроде как есть кнопки

  • @JanSobolewski1987
    @JanSobolewski1987 8 месяцев назад

    Вот уж действительно it как конструктор лего

  • @андрейшаульский-в5к
    @андрейшаульский-в5к 8 месяцев назад

    Познавательно!

  • @cemisovs
    @cemisovs 9 месяцев назад

    Спасибо за хорошее видео! Программа dredd не обновлялась более года. Не свидетельствует ли это о затухании проекта? Есть ли какие похожие проекты для тестирования API по спецификации?

    • @IT_like_bricks_building
      @IT_like_bricks_building 9 месяцев назад

      Пожалуйста. Да, dredd подустарел чуток, но все равно хорош. Microcks можно как next level рассмотреть.

  • @chemosa392
    @chemosa392 9 месяцев назад

    1) Почему у вас имя пользователя при изменении providers.xml MorkovkA's, хотя должно быть MorkovkAs? 2) Надо добавлять origin в Remote To Push часть тоже?

    • @IT_like_bricks_building
      @IT_like_bricks_building 9 месяцев назад

      Хороший вопрос, вернусь с ответом немного позже)

  • @semenkovrov4256
    @semenkovrov4256 9 месяцев назад

    Ни о чем... Декларация банальщины.

  • @MsSk0000
    @MsSk0000 9 месяцев назад

    Начал за здравие а окончил за упокой... все скомкал, начал рассматривать косвенные вещи и т.п. В итоге получилась хрень 👎

  • @cemisovs
    @cemisovs 9 месяцев назад

    Очень понятно и ясно изложено. Спасибо!

  • @essageek
    @essageek 10 месяцев назад

    Спасибо огромное! Единственное полезное видео, в котором все понятно

  • @nikitabbrv5947
    @nikitabbrv5947 10 месяцев назад

    Как аналитик, раз в пол года приходится с апишками работать и очень удобно по твоему видео вспоминать) ну и chatgpt конечнО)

    • @IT_like_bricks_building
      @IT_like_bricks_building 10 месяцев назад

      Классно!)) Признаюсь, я и сам иногда пересматриваю😉