20
Swagger

Swagger 2.0

Embed Size (px)

Citation preview

Page 1: Swagger 2.0

Swagger

Page 2: Swagger 2.0

Зачем использовать API

фреймворки?

• Автогенерация кода• Документация• Автовалидация• Тесты• Клиент• Красивый UI

Page 3: Swagger 2.0

UI

Page 4: Swagger 2.0

Editor

Page 5: Swagger 2.0

Swagger 2.0 ≠ Swagger 1.2

– Почти полная поддержка JSON schema

– Смена идеологии

– Поддержка YAML

– Новый формат полей

Page 6: Swagger 2.0

Спецификация

Page 7: Swagger 2.0

Параметры

{

Page 8: Swagger 2.0

Параметры

Page 9: Swagger 2.0

Модели

– Наследование

– Полиморфизм

– Ссылки

Page 10: Swagger 2.0

Авторизация

Тип Заголовок

Basic Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

ApiKey api_key: 22555afccfcd7c2e32392a027

OAuth2 Authorization: Bearer mF_9.B5f-4.1JqM

Page 11: Swagger 2.0

Top-down vs Bottom-up

спецификация

реализация

Page 12: Swagger 2.0

swagger-node-express

Page 13: Swagger 2.0

swaggerize-express

Page 14: Swagger 2.0

swagger-codegen

C#

+ templates}

client + server+ docs

2.0

Page 15: Swagger 2.0

Что есть еще

Page 16: Swagger 2.0

Apiblueprint

Page 17: Swagger 2.0

– YAML

– !include

– traits

WORKGROUP:

Page 18: Swagger 2.0

WADL

Page 19: Swagger 2.0

Выводы• Большое сообщество и экосистема (>45

сервисов)• Поддержка большого кол-ва языков (>13)• Богатые возможности спецификации• Визуальные инструменты• Платформонезависимость

• Зоопарк сторонних библиотек• Несоответствия библиотек спецификациям• Исторически bottom-top идеология

+

Page 20: Swagger 2.0

Спасибо

@raxpost

http://yarax.ru

http://facebook.com/raxwunter