Swagger
Зачем использовать
API фреймворки?
• Автогенерация кода
• Документация
• Автовалидация
• Тесты
• Клиент
• Красивый UI
UI
Editor
Swagger 2.0 ≠ Swagger 1.2
– Почти полная поддержка JSON schema
– Смена идеологии
– Поддержка YAML
– Новый формат полей
Спецификация
Параметры
{
Параметры
Модели
– Наследование
– Полиморфизм
– Ссылки
Авторизация
Тип Заголовок
Basic
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
ApiKey
api_key: 22555afccfcd7c2e32392a027
OAuth2 Authorization: Bearer mF_9.B5f-4.1JqM
Top-down vs Bottom-up
спецификация
реализация
swagger-node-express
swaggerize-express
swagger-codegen
C#
+ templates
client + server
+ docs
2.0
Что есть еще
Apiblueprint
– YAML
– !include
– traits
WORKGROUP:
WADL
Выводы
• Большое сообщество и экосистема (>45 сервисов)
• Поддержка большого кол-ва языков (>13)
• Богатые возможности спецификации
• Визуальные инструменты
• Платформонезависимость
• Зоопарк сторонних библиотек
• Несоответствия библиотек спецификациям
• Исторически bottom-top идеология
+
–
Спасибо
@raxpost
http://yarax.ru
http://facebook.com/raxwunter

Swagger 2.0

Editor's Notes

  • #2 Чочопопячся
  • #3 В конце Так что такое свагер?
  • #4 Wordnik 2010 SmartBear
  • #5 И это важно: yaml top-down
  • #6 Не совпадали версии спецификации кодогенератора и UI Рассмотрим в кратце спецификацию
  • #7 Начнем с параметров
  • #8 Ссылки Ожидаем от клиента json объект валидный с объектом Pet
  • #9 Мы можем использовать все возможности валидации, предоставляемые JSON схемой
  • #11 – У свагера самая большая поддержка видов авторизации – UI
  • #12 Плюсы за bottom-up: генерацию генерировать проще, чем код
  • #13 Таки пишем спецификацию, привязываем хендлер и добавляем странным методом addGet
  • #14 Вывод: инструментов много, но они не решат все ваши проблемы
  • #20 SmartBear