×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Preparing for the future of API Description Languages @kylefuller © Oracle Corpora,on UK Limited, 2018 1
Slide 2
Slide 2 text
Preparing for the future of API Description Languages @kylefuller © Oracle Corpora,on UK Limited, 2018 2
Slide 3
Slide 3 text
© Oracle Corpora,on UK Limited, 2018 3
Slide 4
Slide 4 text
Agenda • Evolu'on of formats in Apiary • How we tackled suppor'ng mul'ple formats • Our plan for suppor'ng OAS 3 • Differences between Swagger 2 and OAS 3 © Oracle Corpora,on UK Limited, 2018 4
Slide 5
Slide 5 text
Apiary Blueprint 2012 - 2014 © Oracle Corpora,on UK Limited, 2018 5
Slide 6
Slide 6 text
API Blueprint 1 2014 - Present 1 h$ps:/ /apiblueprint.org © Oracle Corpora,on UK Limited, 2018 6
Slide 7
Slide 7 text
2 2 h$ps:/ /swagger.io © Oracle Corpora,on UK Limited, 2018 7
Slide 8
Slide 8 text
Apiary Product Surface © Oracle Corpora,on UK Limited, 2018 8
Slide 9
Slide 9 text
Apiary Editor © Oracle Corpora,on UK Limited, 2018 9
Slide 10
Slide 10 text
Interactive Documentation © Oracle Corpora,on UK Limited, 2018 10
Slide 11
Slide 11 text
Interactive Console © Oracle Corpora,on UK Limited, 2018 11
Slide 12
Slide 12 text
Traffic Inspector © Oracle Corpora,on UK Limited, 2018 12
Slide 13
Slide 13 text
Mock Server © Oracle Corpora,on UK Limited, 2018 13
Slide 14
Slide 14 text
Dredd © Oracle Corpora,on UK Limited, 2018 14
Slide 15
Slide 15 text
Dredd © Oracle Corpora,on UK Limited, 2018 15
Slide 16
Slide 16 text
API Style Guide © Oracle Corpora,on UK Limited, 2018 16
Slide 17
Slide 17 text
... and more © Oracle Corpora,on UK Limited, 2018 17
Slide 18
Slide 18 text
Abstract Format © Oracle Corpora,on UK Limited, 2018 18
Slide 19
Slide 19 text
Abstract Format © Oracle Corpora,on UK Limited, 2018 19
Slide 20
Slide 20 text
Abstract Format © Oracle Corpora,on UK Limited, 2018 20
Slide 21
Slide 21 text
Canonical API Description Format © Oracle Corpora,on UK Limited, 2018 21
Slide 22
Slide 22 text
API Elements © Oracle Corpora,on UK Limited, 2018 22
Slide 23
Slide 23 text
API Elements { "element": "httpResponse", "attributes": { "statusCode": { "element": "number", "content": 200 } }, "content": [...] } © Oracle Corpora,on UK Limited, 2018 23
Slide 24
Slide 24 text
API Elements { "element": "httpResponse", "attributes": { "statusCode": { "element": "number", "content": 200 } }, "content": [...] } © Oracle Corpora,on UK Limited, 2018 24
Slide 25
Slide 25 text
API Elements { "element": "string", "attributes": { "sourceMap": { "element": "sourceMap", "content": [5, 10] } }, "content": "Hello World" } © Oracle Corpora,on UK Limited, 2018 25
Slide 26
Slide 26 text
API Elements © Oracle Corpora,on UK Limited, 2018 26
Slide 27
Slide 27 text
API Elements (JS) © Oracle Corpora,on UK Limited, 2018 27
Slide 28
Slide 28 text
Adapters © Oracle Corpora,on UK Limited, 2018 28
Slide 29
Slide 29 text
Adapters © Oracle Corpora,on UK Limited, 2018 29
Slide 30
Slide 30 text
Process Involved in adding OAS 3 © Oracle Corpora,on UK Limited, 2018 30
Slide 31
Slide 31 text
© Oracle Corpora,on UK Limited, 2018 31
Slide 32
Slide 32 text
OAS 3: Focus • Structure Simplifica/on • Improved Re-usability © Oracle Corpora,on UK Limited, 2018 32
Slide 33
Slide 33 text
OAS 3: Changes • Swagger -> OpenAPI • GitHub-flavoured Markdown -> CommonMark • YAML • 2.0 -> 3.0 © Oracle Corpora,on UK Limited, 2018 33
Slide 34
Slide 34 text
OAS 3: JSON Schema • Larger JSON Schema support • oneOf, anyOf, not, and more • nullable (x-nullable extension in Swagger 2) © Oracle Corpora,on UK Limited, 2018 34
Slide 35
Slide 35 text
OAS 3: Content Negotiation © Oracle Corpora,on UK Limited, 2018 35
Slide 36
Slide 36 text
A Visual Guide to What's New in Swagger 3.0 4 4 h$ps:/ /blog.readme.io/an-example-filled-guide-to-swagger-3-2/ © Oracle Corpora,on UK Limited, 2018 36
Slide 37
Slide 37 text
A Visual Guide to What's New in Swagger 3.0 4 4 h$ps:/ /blog.readme.io/an-example-filled-guide-to-swagger-3-2/ © Oracle Corpora,on UK Limited, 2018 37
Slide 38
Slide 38 text
A Visual Guide to What's New in Swagger 3.0 4 4 h$ps:/ /blog.readme.io/an-example-filled-guide-to-swagger-3-2/ © Oracle Corpora,on UK Limited, 2018 38
Slide 39
Slide 39 text
A Visual Guide to What's New in Swagger 3.0 4 4 h$ps:/ /blog.readme.io/an-example-filled-guide-to-swagger-3-2/ © Oracle Corpora,on UK Limited, 2018 39
Slide 40
Slide 40 text
A Visual Guide to What's New in Swagger 3.0 4 4 h$ps:/ /blog.readme.io/an-example-filled-guide-to-swagger-3-2/ © Oracle Corpora,on UK Limited, 2018 40
Slide 41
Slide 41 text
OAS 3: Callbacks © Oracle Corpora,on UK Limited, 2018 41
Slide 42
Slide 42 text
OAS 3: Links © Oracle Corpora,on UK Limited, 2018 42
Slide 43
Slide 43 text
OAS 3 and API Elements © Oracle Corpora,on UK Limited, 2018 43
Slide 44
Slide 44 text
OAS 3 Adoption Plan © Oracle Corpora,on UK Limited, 2018 44
Slide 45
Slide 45 text
OAS 3: Phase 1 Soft Launch © Oracle Corpora,on UK Limited, 2018 45
Slide 46
Slide 46 text
OAS 3: Phase 2 Public Launch © Oracle Corpora,on UK Limited, 2018 46
Slide 47
Slide 47 text
OAS 3: Phase 3 Maturity © Oracle Corpora,on UK Limited, 2018 47
Slide 48
Slide 48 text
API Elements https://apielements.org © Oracle Corpora,on UK Limited, 2018 48
Slide 49
Slide 49 text
© Oracle Corpora,on UK Limited, 2018 49
Slide 50
Slide 50 text
@kylefuller
[email protected]
© Oracle Corpora,on UK Limited, 2018 50