swagger 2.0
TRANSCRIPT
![Page 1: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/1.jpg)
Swagger
![Page 2: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/2.jpg)
Зачем использовать API
фреймворки?
• Автогенерация кода• Документация• Автовалидация• Тесты• Клиент• Красивый UI
![Page 3: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/3.jpg)
UI
![Page 4: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/4.jpg)
Editor
![Page 5: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/5.jpg)
Swagger 2.0 ≠ Swagger 1.2
– Почти полная поддержка JSON schema
– Смена идеологии
– Поддержка YAML
– Новый формат полей
![Page 6: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/6.jpg)
Спецификация
![Page 7: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/7.jpg)
Параметры
{
![Page 8: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/8.jpg)
Параметры
![Page 9: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/9.jpg)
Модели
– Наследование
– Полиморфизм
– Ссылки
![Page 10: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/10.jpg)
Авторизация
Тип Заголовок
Basic Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
ApiKey api_key: 22555afccfcd7c2e32392a027
OAuth2 Authorization: Bearer mF_9.B5f-4.1JqM
![Page 11: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/11.jpg)
Top-down vs Bottom-up
спецификация
реализация
![Page 12: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/12.jpg)
swagger-node-express
![Page 13: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/13.jpg)
swaggerize-express
![Page 14: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/14.jpg)
swagger-codegen
C#
+ templates}
client + server+ docs
2.0
![Page 15: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/15.jpg)
Что есть еще
![Page 16: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/16.jpg)
Apiblueprint
![Page 17: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/17.jpg)
– YAML
– !include
– traits
WORKGROUP:
![Page 18: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/18.jpg)
WADL
![Page 19: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/19.jpg)
Выводы• Большое сообщество и экосистема (>45
сервисов)• Поддержка большого кол-ва языков (>13)• Богатые возможности спецификации• Визуальные инструменты• Платформонезависимость
• Зоопарк сторонних библиотек• Несоответствия библиотек спецификациям• Исторически bottom-top идеология
+
–
![Page 20: Swagger 2.0](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b15723bb61eb65028b45c5/html5/thumbnails/20.jpg)
Спасибо
@raxpost
http://yarax.ru
http://facebook.com/raxwunter