OpenAPI и Swagger Editor - своё описание REST API с нуля

  Рет қаралды 77,044

IT как Конструктор

IT как Конструктор

Күн бұрын

Создаем 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 #API

Пікірлер: 134
@Alexander-is1eq
@Alexander-is1eq 7 ай бұрын
Огромное человеческое спасибо! Самый лучший и, к сожалению, единственный на всем тюбике понятный урок как писать схему OpenAPI. Автор, дай бог тебе здоровья!
@IT_like_bricks_building
@IT_like_bricks_building 7 ай бұрын
Спасибо вам большое за такой фидбек! Очень радостно, когда есть реальная польза от трудов.
@tusman4ik
@tusman4ik Ай бұрын
​@@IT_like_bricks_buildingприсоединюсь. Самое годное, что я нашёл по Swagger. Отсутствие новых видео 8 месяцев огорчает. :(
@IT_like_bricks_building
@IT_like_bricks_building Ай бұрын
@@tusman4ik спасибо! Про новые видео полностью согласен с вами. Но мне нужно время на это, которого не хватает.
@user-qv1fc9wl4i
@user-qv1fc9wl4i 3 ай бұрын
Супер, спасибо, как раз то, что я и искала: максимум практики!
@IT_like_bricks_building
@IT_like_bricks_building 3 ай бұрын
Отлично, успехов вам!
@Vitalik1223
@Vitalik1223 Жыл бұрын
Антон, благодарю, достаточно доходчиво объяснили как с нуля написать спецификацию, полезно
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо!)
@user-so3jn6ws6z
@user-so3jn6ws6z Жыл бұрын
Спасибо. Наконец что-то понятное.
@user-mf8jd5mc9d
@user-mf8jd5mc9d 11 ай бұрын
Максимально информативный урок! Спасибо!
@IT_like_bricks_building
@IT_like_bricks_building 11 ай бұрын
Благодарю!
@il1il1il
@il1il1il Жыл бұрын
Спасибо за видео! Сразу становится понятней)
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Отлично!
@dzmitry_rubashka
@dzmitry_rubashka Жыл бұрын
Спасибо большое. Очень понятно рассказываешь.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо за фидбек, для меня это важно!
@user-ur8ex8gt5e
@user-ur8ex8gt5e 25 күн бұрын
Очень просто и доходчиво, прекрасны и подача, и сам материал. Большое спасибо!
@IT_like_bricks_building
@IT_like_bricks_building 25 күн бұрын
И вам спасибо за слова!
@sovrinfo
@sovrinfo Жыл бұрын
Спасибо за видео. Коммент в поддержку!
@petefedorov2955
@petefedorov2955 Жыл бұрын
Спасибо большое за этот пример! очень помогло!
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Супер) Я очень рад!
@themichael8767
@themichael8767 Жыл бұрын
Спасибо Вам большое 🤍
@ooh_kriss
@ooh_kriss Жыл бұрын
Антон, спасибо Вам огромное за это видео!!! Максимально понятно, легко на слух и подробно! Поняла всё с первого раза :) Разошлю всем коллегам! Спасибо за то, что облегчили жизнь сразу нескольких джунов СА :)))
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Супер!! Благодарю за столь приятный отзыв!
@user-mp5hh7kk2m
@user-mp5hh7kk2m Жыл бұрын
Шикарный урок, единственный полезный среди кучи мусора и воды. Спасибо!
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо, я старался 😉
@Themok-Gamma-6
@Themok-Gamma-6 Жыл бұрын
Согласен! Бриллиант среди мусора!
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Благодарю!
@euphoriax3576
@euphoriax3576 Жыл бұрын
очень информативный, краткий и понятный урок, спасибо вам
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Благодарю вас за теплые слова!
@ApocalypsisPK
@ApocalypsisPK 22 күн бұрын
Весело и просто! Спасибо!
@IT_like_bricks_building
@IT_like_bricks_building 22 күн бұрын
Рад стараться!
@ivanstrelka3448
@ivanstrelka3448 Жыл бұрын
Спасибо!! Топ!!
@nikitabbrv5947
@nikitabbrv5947 7 ай бұрын
Как аналитик, раз в пол года приходится с апишками работать и очень удобно по твоему видео вспоминать) ну и chatgpt конечнО)
@IT_like_bricks_building
@IT_like_bricks_building 7 ай бұрын
Классно!)) Признаюсь, я и сам иногда пересматриваю😉
@dobrydyadka
@dobrydyadka Жыл бұрын
Спасибо за видео!
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Круто, что было полезно)
@Devivl
@Devivl Жыл бұрын
Пушка! 👍
@zorge_abc5756
@zorge_abc5756 Жыл бұрын
Большое спасибо за ролик
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Пожалуйста!
@dimavolkov4070
@dimavolkov4070 Жыл бұрын
Спасибо, ты молодец
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо!
@user-ij3pv1cl1i
@user-ij3pv1cl1i 9 ай бұрын
Спасибо!
@Vsvistopletov
@Vsvistopletov 10 ай бұрын
Огромное спасибо за видео! Прохожу обучение в нетологии на курсе "системный аналитик", так вот ваше видео помогло разобраться в swagger, в отличие от учебного видеоурока!
@IT_like_bricks_building
@IT_like_bricks_building 10 ай бұрын
Спасибо, очень приятно! Успехов вам
@valeriyemelyanov9090
@valeriyemelyanov9090 Жыл бұрын
Супер!!!
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо!
@alinad8971
@alinad8971 3 ай бұрын
Счастья, здоровья, детей красивых. Ментальное здоровье сохранено благодаря этому видео! 😅
@IT_like_bricks_building
@IT_like_bricks_building 3 ай бұрын
Благодарю!))
@First2603
@First2603 Жыл бұрын
Самое крутое видео, из множества, которые смотрел по этой теме! Спасибо за труд!!!
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Благодарю за обратную связь!
@prostoprosa
@prostoprosa 4 ай бұрын
Без этого видео я скорее всего пошел на зарубежный ютуб, ибо на РФ ничего норм найти не смог. Видео очень пригодилось. Большое тебе спасибо!
@IT_like_bricks_building
@IT_like_bricks_building 4 ай бұрын
Спасибо за такие слова!
@mordowan
@mordowan Жыл бұрын
Мне кажется просто невозможно понятнее объяснить, спасибо!
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо, старался))
@essageek
@essageek 7 ай бұрын
Спасибо огромное! Единственное полезное видео, в котором все понятно
@IT_like_bricks_building
@IT_like_bricks_building 7 ай бұрын
Успехов в изучении!
@vladzh2639
@vladzh2639 Жыл бұрын
👍💪Интересно было бы посмотреть, как описываются пути с 2мя вложениями. Например libraries/{libraryid}/halls/{hallid} И ещё не затруднит тебя объяснить что такое security ?
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
На самом деле отличий то особо и нет. Единственный вопрос, на который стоит ответить самому себе, а нужно ли так делать, может, просто /halls/{hallid} ?)) Но если делать, то получится что-то похожее на: /libraries/{libraryid}/halls/{hallid}: get: summary: Метод получения сущности по идентификатору operationId: getHallById parameters: - name: libraryid in: path required: true example: 22bbbb2b-8b9c-4af9-88f7-0bc180cf74b4 schema: type: string - name: hallid in: path required: true example: 11aaaa2b-8b9c-4af9-88f7-0bc180cf74b4 schema: type: string Про security, если дойдут руки, тоже попробую сделать видео. Если вкратце, это описание способов аутентификации (basic, oauth, openid), заполнив которые, мы затем помечаем методы соответствующими правами (permission/scope). Когда клиент отправит запрос, у него будет проверяться наличие указанных на методе прав
@user-co9ri8mp7v
@user-co9ri8mp7v Жыл бұрын
Очень крутой урок! Можно вам попросить сделать больше видео про сваггер, про АПИ. Как описывать апи, ручки и тд! Надеюсь, буду услышана) спасибо
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо. У меня в планах есть как минимум одно видео про то, каких правил в целом нужно придерживаться при проектирование api. Надеюсь, будет полезно.
@user-co9ri8mp7v
@user-co9ri8mp7v Жыл бұрын
@@IT_like_bricks_building дааа, очень жду! я развиваюсь в системной аналитике и это прям очень нужно!
@user-jb7gj3eh3b
@user-jb7gj3eh3b 5 ай бұрын
четко и понятно, спасибо!
@user-jb7gj3eh3b
@user-jb7gj3eh3b 5 ай бұрын
есть разбор оформления документации по АПИ Аналитиками для разработчиков: к примеру, описали мы в сваггере АПИ, что дальше с этим делать?
@user-jb7gj3eh3b
@user-jb7gj3eh3b 5 ай бұрын
Достаточно ли разработке ссылки (на сваггер) на данный формат описания АПИ?
@IT_like_bricks_building
@IT_like_bricks_building 5 ай бұрын
Ссылки достаточно для разработчиков. Там исчерпывающая инфа для создания Api. Останется только бизнес логику описать, то есть какие действия модуль делает при получении определенного запроса
@user-jb7gj3eh3b
@user-jb7gj3eh3b 5 ай бұрын
@@IT_like_bricks_building Спасибо большое от системного аналитика!
@charodeika.06
@charodeika.06 Ай бұрын
ОГРОМНОЕ СПАСИБО!!!!!!
@IT_like_bricks_building
@IT_like_bricks_building Ай бұрын
Пожалуйста!
@charodeika.06
@charodeika.06 Ай бұрын
@@IT_like_bricks_building единственный ролик, который на практике показал как с этой штуковиной справиться! Еще раз спасибо!
@IT_like_bricks_building
@IT_like_bricks_building Ай бұрын
Успехов вам!
@user-nf1td4hh7y
@user-nf1td4hh7y 11 ай бұрын
Спасибо большое! Быстро и понятно. Не понятно только, где документация хранится и как ей поделиться
@IT_like_bricks_building
@IT_like_bricks_building 11 ай бұрын
На самом деле зависит от того, где вы будете создавать спецификацию. У большинства программ есть синхронизация с гитом, например, та же insomnia. Ещё есть apicurio. Там уже и делиться особо не надо. Сразу у всех единый доступ к созданию и описанию api.
@barristan1960
@barristan1960 3 ай бұрын
дай Бог тебе здоровья и девушку с 4 размером груди автор! Спасибо!😄
@IT_like_bricks_building
@IT_like_bricks_building 3 ай бұрын
Благодарю))))
@JanSobolewski1987
@JanSobolewski1987 5 ай бұрын
Вот уж действительно it как конструктор лего
@opalev
@opalev Жыл бұрын
Спасибо! А теперь как из этого сгенерить классы java c компонентом Spring'а @Controller и классы простых объектов Toy, Toys, Error ? Думаю, что я сейчас нарою ответ, но предчувствую, что это будет в новом видео :)
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Swagger codegen или аналоги. Мне нравится сайт openapi.tools/ Можно там найти почти всё. А так да, вы правы. Нужно запилить ещё видео))
@Romanmikhayloff
@Romanmikhayloff Жыл бұрын
понятно говоришь)
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Спасибо!
@fixcay7129
@fixcay7129 2 ай бұрын
Подскажи, а как добавляется сущность чтобы указывать производителя игрушки?
@Lerogorn
@Lerogorn Жыл бұрын
Привет! Нет ли у тебя инфы по использованию links? В проекте есть токены, не пойму, как настроить links для их использования.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Привет! Я их, честно говоря, не использовал, так что сходу, к сожалению, не смогу подсказать ничем кроме документации. Как обычно там на примере всё легко, но нужно попробовать руками, а потом уже советовать)) Спасибо за идею, возьму на заметку!
@user-zw7fv1wh1d
@user-zw7fv1wh1d Жыл бұрын
Не подскажите, есть ли где то руководство на русском, что бы понятно было описано какой параметр для чего нужен? Находила пару ресурсов, но там такой костыльный перевод.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
К сожалению, мне не попадался, но я и не искал.
@idpolice
@idpolice 10 ай бұрын
Спасибо за урок! Но вот вопрос: А куда потом этот файлик совать в проекте? Сделали спецификацию, а дальше что?
@IT_like_bricks_building
@IT_like_bricks_building 10 ай бұрын
Дальше есть варианты. Можно сгенерировать код, можно использовать как документацию и передавать другим сервисам
@skinnyman23
@skinnyman23 Жыл бұрын
Добрый день, подскажите пожалуйста, как описывать обязательные header - ы. Необходимо в некоторых (не всех) запросах вставлять хидером сессионный ключ авторизации. Что-то читаю документацию, гуглю, вставляю все в редактор сваггера и ничего не получается. Пытаюсь составить доку в версии 3.0.3, пример находил в версии 1.0.0. Не заработало, может быть из-за версии. Три часа провозился и никакого результата. Сейчас остановился на следующем: paths: /toys: post: requestBody: ... responses: ... parameters: - session_key: $ref: "#/components/headers/session_key_header" components: schemas: ... headers: session_key_header: description: ... schema: type: string
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Добрый день. Вроде бы рекомендуется использовать components/parameters для этого. Посмотрите на эту страницу, мне кажется, это то, что вы ищете github.com/swagger-api/swagger-editor/issues/1827
@skinnyman23
@skinnyman23 Жыл бұрын
@@IT_like_bricks_building спасибо
@tachikaze.
@tachikaze. 7 ай бұрын
Спасибо за видео! Я студент, учусь на программиста, делаю веб приложение и фронту в моей команде очень нужна дока по api, который я написал, в видео вы обьясняете все четко, но есть пара вопросов: 1) Я правильно понимаю, что единственный способ поделиться с ним документацией - скинуть ему этот yaml файл? Я себе по другому представлял немного, что создается личная дока на которую можно скинуть ссылку, чтобы человек посмотрел 2) Смогу ли я сделать документацию без регистрации на платформе? Возможно, для мини проекта можно было оставить документацию в каком нибудь гугл доке или вобще в блокноте, но хочется сделать красиво)
@IT_like_bricks_building
@IT_like_bricks_building 7 ай бұрын
Успехов вам в обучении! По вопросам выходит так. 1. Скинуть yaml файл - на первых порах действительно самый простой вариант. Когда у вас появится развернутое приложение на сервере/облаке, то можно добавить зависимость swagger-ui и тогда приложение поднимет ui со спекой (можно читать, отправлять запросы, скачать спеку). Мы у себя в проекте запили 1 маленький микросервис, который поднимается вместе со всеми спецификациями наших микросервисов. И из одной точки удобно смотреть все спеки и оправлять любой запрос в любой микросервис. 2. Регистрация не нужна, там хоть в блокноте можно создавать. Поддержку рендера openapi спек имеет множество инструментов. Например, insomnia (аналог постмана), jetbrains продукты, vs code.
@tachikaze.
@tachikaze. 7 ай бұрын
@@IT_like_bricks_building благодарю за ответ! подписался)
@PlaceTickets
@PlaceTickets Жыл бұрын
Подскажите а как работает OpenAPI вместе с OAuth (3)?
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Точно вопрос про версию OAuth 3? Последняя на данный момент 2.1. А если все-таки цель подружить OpenAPI 3 с OAuth 2, то я советую вам посмотреть на их документацию в первую очередь. Там с примерами. swagger.io/docs/specification/authentication/oauth2/
@Andrey_Antonov.
@Andrey_Antonov. 8 ай бұрын
Огромное вам спасибо, я нашел много роликов, но только вы так четко, кратко и точно описали все методы, получилось с первого раза. Подскажите пожалуйста, а можно ли через такую спецификацию описывать зависимости между @Entiey для Hibernate ?
@IT_like_bricks_building
@IT_like_bricks_building 8 ай бұрын
Рад, что видео было полезным для вас! А ответ на ваш вопрос, честно говоря, не знаю, не пробовал. Если вы уже выяснили, напишите, пожалуйста. Вдруг кому-то пригодится.
@Andrey_Antonov.
@Andrey_Antonov. 8 ай бұрын
@@IT_like_bricks_building Выяснил, нельзя, это ни как несвязанные сущности.
@IT_like_bricks_building
@IT_like_bricks_building 8 ай бұрын
Спасибо!
@vladzh2639
@vladzh2639 Жыл бұрын
А метод POST /toys/(toy_id) может быть создан?
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Да, может. Но если идентификатор генерируется на строне сервера, то лучше делать просто POST /toys. А так можно делать хоть get /toys/{id}, который будет удалять эту игрушку:) Ограничений, кроме адекватности нет.
@AntiGusar
@AntiGusar 9 ай бұрын
Как сделать так что бы в Схеме можно было указывать несколько игрушек? Практиковался на вашем примере но постоянно выдавало ошибку "duplicated mapping key"
@IT_like_bricks_building
@IT_like_bricks_building 9 ай бұрын
Не совсем понял Ваш вопрос. В каком именно месте вы хотите несколько игрушек? Где примеры, или хотите передать массив игрушек в какой-то метод?
@AntiGusar
@AntiGusar 9 ай бұрын
@@IT_like_bricks_building В целом да, чтобы несколько игрушек отображались в методе (в интерфейсе справа). Допустим я хочу добавить ещё одну игрушку, и чтобы она тоже отображалась в результате успешного запроса. Ну там "Train" и например "Car". При попытке сделать новый объект в "компонентах" у меня либо появлялась эта ошибка о дублировании, либо о том что "объект" ещё не дописан. В любом случае, справа в результате запроса, появлялась только одна из двух созданных мной игрушек. Как сделать так чтобы можно было показать весь перечень объектов (игрушек), которые записаны в компонентах? У меня получилось так сделать только если описывал их прямо в "path", но тогда создавать ссылки нельзя. Буду признателен за помощь.
@IT_like_bricks_building
@IT_like_bricks_building 9 ай бұрын
Кажется, я понял, о чем был вопрос. В разделе "paths" есть возможность использовать "examples", посмотрите на возвращаемое значение у метода get /toys в случае успеха. Там поезд и самолет возвращаются. Но это пример под конкретный метод, что не есть универсально. А вот в разделе "components" нет возможности использовать "examples", только "example". Покрутил, попробовал, ничего дельного не смогу посоветовать, не придумал.
@user-yz3tl8gr6l
@user-yz3tl8gr6l Жыл бұрын
А operationid где потом используется?
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Отличный вопрос, я его ждал:) Я знаю 2 варианта. 1ый - используется при автогенерации кода по спецификации для наименования методов. Если operationId = getToyById, то в коде соответствующий метод будет похож на ResponseEntity getToyById(...) {...}. Если интересны детали, то предлагаю посмотреть мое видео про генерацию: kzfaq.info/get/bejne/fqd3hryFs53QioU.html 2ой - используется для якорей в документации, так как значение operationId должно быть уникальным среди всех методов.
@yalmeme
@yalmeme 3 ай бұрын
так, а как получившееся описание использовать-то? что сделать чтобы на моем сервере так же красиво открывалось как в редакторе?
@IT_like_bricks_building
@IT_like_bricks_building 3 ай бұрын
Использований много, начиная от красивого описания, заканчивая кодогенерацией. Подтяните зависимость swagger-ui к вашему проекту
@Zadrot1080p
@Zadrot1080p 2 ай бұрын
swagger ui
@Vitalik1223
@Vitalik1223 Жыл бұрын
а есть ли у Вас опыт автоматизации тестирования API через Insomnia? Может быть поделитесь своим опытом / лайфхаками
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Автоматизацию через insomnia мы не делали. Мы сразу пошли по пути использования спец приложений, например, dredd (есть видео на канале) и microcks (более современен)
@Vitalik1223
@Vitalik1223 Жыл бұрын
@@IT_like_bricks_building т.е по вашему опыту (опыт вашей команды), на текущий момент автоматизацию тестирования API лучше всего реализовывать через dredd и microcks, чем на том же постман / инсомния или на Java с использованием Rest assured?
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Мне кажется, что если мы говорим про автоматизацию, то нам всем хотелось бы, чтобы сами тесты +/- автоматически генерировались по имеющейся OpenApi спецификации. Поэтому я бы выбирал те инструменты, которое это умеют из коробки делать. Postman вроде бы умеет работать со спецификацией (генерировать коллекцию запросов по ней), у нас в одном из проектов как раз на нем тесты и сделаны. Но там руками много всего вносится нового, поэтому я бы не назвал это автоматизацией, хотя может мы не докрутили где-то. Insomnia для авто тестов мне не особо понравилась, хотя она тоже генерирует коллекцию запросов по спецификации. Dredd и Microcks прям специализируются на решении обсуждаемой нами задачи, только dredd не полностью поддерживает 3ю версию OpenApi. Rest Assured, как я вижу, тоже не особо дружит с автогенерацией тестов, хотя, может, доп плагинами проблема и решается. В общем если начинать новый проект, я бы использовал Microcks. А ещё лучше сразу Apicurio для проектирования спецификаций, внутри которого уже встроен Microcks для тестов:)
@Vitalik1223
@Vitalik1223 Жыл бұрын
@@IT_like_bricks_building благодарю за расширенный ответ) буду ждать новые видео)
@sergeyzinovkin7123
@sergeyzinovkin7123 Жыл бұрын
Спасибо вам большое, вся информация изложена очень обстоятельно и доступным языком. Будьте добры, подскажите как я могу проверить написанную спецификацию, например создать игрушку, потом запросить список игрушек или описание игрушки по ее id? При этом цель просто проверить, что все ошибки, атрибуты и т.д. в спецификации указаны правильно. То есть если я правильно понимаю, нужен локальный сервис созданный по спецификации (причем не важно на каком языке, я не разработчик, я просто проектирую спецификацию). В идеале в Docker. Насколько я понимаю такой класс продуктов называется Mock сервера, но я не смог найти ни один который бы понял спецификацию Swagger Petstore - OpenAPI 3.0 (демо спецификация) - просто на ней тестировал исходя из того что уж она точно написана по стандарту. Данное видео (kzfaq.info/get/bejne/fqd3hryFs53QioU.html) но там к сожалению уже сложно и описывается как модифицировать код серверной части. К сожалению уже сложно да и как автор говорит даже те правки по небольшой схеме это только самое начало тех ошибок с которыми придется столкнуться. Кажется получается слишком трудоемко чтобы просто проверить что в спецификации нет ошибок.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Огромное спасибо за фидбек! Могу посоветовать для ваших нужд Prism ( stoplight.io/open-source/prism ), лично я не использовал, но слышал очень хорошие отзывы. Еще рекомендую отличный сайт openapi.tools/ , там есть много всего полезного для OpenAPI. В частности раздел "Mock Servers", там и Prism, и много других. Я как-то использовал в одном из видео Mocklab для тестов спецификации, в целом было нормально.
@sergeyzinovkin7123
@sergeyzinovkin7123 Жыл бұрын
@@IT_like_bricks_building Спасибо, попробую
@laymanstrom
@laymanstrom Жыл бұрын
На самом деле можно использовать генератор документации. В FastAPI такое есть.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Все верно. Если идти по пути сначала код, а потом авто генерация спецификации, то да, ваш вариант как раз то, что нужно. А вот если наоборот, то придется ручками написать) Хотя и тут есть упрощения. Можно использовать конструкторы спецификации, например, Apicurio (когда-нибудь сделаю видео по нему).
@vladvlad3544
@vladvlad3544 Жыл бұрын
@@IT_like_bricks_building а в чем разница между автоматической и ручной спецификации? Написал апи, хочу спецификацию сделать к нему, вот думаю, сделать через генерацию или самому прописать все.
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Разница именно в подходе. В некоторых проектах команда идёт по пути, когда сначала аналитик проектирует и создаёт спецификацию, а затем разработчик разрабатывает по ней или автоматом генерирует код по спецификации. В некоторых компаниях делают наоборот. Пишут код, помечают методы аннотациями и тд, бонусом получают спецификацию при сборке.
@vladvlad3544
@vladvlad3544 Жыл бұрын
@@IT_like_bricks_building понял, спасибо!
@vladzh2639
@vladzh2639 Жыл бұрын
что такое OperationID? 3:40
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Я ниже в комментариях уже отвечал на аналогичный вопрос, значение атрибута будет использовано при генерации кода по спецификации. Оно станет названием соответствующего метода в коде.
@vladzh2639
@vladzh2639 Жыл бұрын
@@IT_like_bricks_building Спасибо увидел!))
@stefano_schmidt
@stefano_schmidt Жыл бұрын
а для чего нужен этот конструктор? Просто поиграться? Не нашел никакой информации в инете как его можно привязать к Api, что б вместо автоматически сгенерированной документации, отобаражалсь она
@IT_like_bricks_building
@IT_like_bricks_building Жыл бұрын
Я не понял вопроса скорее всего. OpenApi - это описание api сервиса, один из вариантов его четкого однозначного описания машинным языком и одновременно человеческим. По генерации есть два варианта. По коду сервиса строить спецификацию или наоборот по спецификации код генерировать.
@user-gi2hx8zf1i
@user-gi2hx8zf1i 3 ай бұрын
очень тихо((
@P_B_N_D
@P_B_N_D 7 ай бұрын
Слишком быстро все делаете. Ощущение, что это урок не для новичка. За вами не угнаться, когда видишь свагер в первый раз.
@IT_like_bricks_building
@IT_like_bricks_building 7 ай бұрын
Спасибо) на самом деле я думал об этом, когда монтировал видео. Но подумал, что это лучше, чем много воды и долго. Коротко и по делу)) Попробуйте принять основную мысль, которую я пытался вложить в видео. Документация не так страшна, как может показаться в первый раз. И делайте паузы. Успехов вам в обучении!
@P_B_N_D
@P_B_N_D 7 ай бұрын
@@IT_like_bricks_building паузы и многократные перемотки назад мне помогают😅 Спасибо!)
@volteee1147
@volteee1147 4 ай бұрын
Мне по скорости нормально, возможно тяжело вникать без хорошего понимания rest-api (Пишу без негатива, просто мысли😊)
@MrMegaFirestarter
@MrMegaFirestarter Жыл бұрын
Да нихрена не информативно. С первых же секунд не понятно, где автор нашёл документацию ??? - на главной странице нет никакой ссылки ! Хорошо что Гугл знает, где она находится. Второй вопрос - Где автор нашёл эдитор ? Не плохо бы объяснить, т.к. с главной страницы мы попадаем на репозиторий ГитХаб и что с ним делать, нигде не написано - говорят лишь, есть такие во скрипты, а как это приложение запускать ?! Это позор для тех, кто создал такое приложение и так представляет информацию пользователям. И странно что автор видео совершенно не замечает этих проблем.
@vzenkin
@vzenkin 2 ай бұрын
Спасибо!
OpenAPI Generator - Генерация кода по спецификации
8:57
IT как Конструктор
Рет қаралды 18 М.
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 101 МЛН
Получилось у Вики?😂 #хабибка
00:14
ХАБИБ
Рет қаралды 7 МЛН
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 1,6 МЛН
Docker Для Начинающих за 1 Час | Docker с Нуля
52:43
Проектирование API в терминах RESTful
38:08
SQA ANALYST TECHWRITER DAYS
Рет қаралды 7 М.
Кратко про OpenAPI и Swagger
26:43
IT как Конструктор
Рет қаралды 46 М.
Основы и секреты Rest API
5:13
Хочу вАйти
Рет қаралды 2,8 М.
Отправка запросов в Swagger Petstore, часть 1
36:22
REST API за 15 минут. Основы перед проектированием (для бизнес и системных аналитиков)
14:01
Бизнес анализ BPMN требования - Максим Филиппов
Рет қаралды 11 М.
Что такое REST на самом деле?
11:32
Merion Academy
Рет қаралды 58 М.
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 101 МЛН