Slide 1

Slide 1 text

Building  API  Tooling     That  Doesn’t  Suck   A  Sco8  Feinberg  Produc

Slide 2

Slide 2 text

Sco8  Feinberg           Developer  Evangelist  at  WePay   @sco8efein    

Slide 3

Slide 3 text

Today’s  Agenda   @sco8efein    

Slide 4

Slide 4 text

What  is  good  API  Tooling?     How  do  I  build  good,  scalable   API  tooling?   @sco8efein    

Slide 5

Slide 5 text

What  is  API  Tooling?     @sco8efein    

Slide 6

Slide 6 text

@sco8efein    

Slide 7

Slide 7 text

Documenta

Slide 8

Slide 8 text

Tutorials   @sco8efein    

Slide 9

Slide 9 text

Explain  what  you’re  accomplishing   Detailed  Steps   Copy/Paste  Code  Examples   @sco8efein    

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Offer  High  Level  Steps   Don’t  waste  my  9me   @sco8efein    

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Reference  Docs   @sco8efein    

Slide 14

Slide 14 text

@sco8efein    

Slide 15

Slide 15 text

@sco8efein    

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Document  every  resource   structure     Visual  Duplica

Slide 18

Slide 18 text

Document  every  API   Request  +  Response     Explana

Slide 19

Slide 19 text

Building  Documenta

Slide 20

Slide 20 text

Create  an  API  Spec   @sco8efein    

Slide 21

Slide 21 text

RAMLSpec   Made  up  of  YAML,   JSON,  and  Markdown   @sco8efein    

Slide 22

Slide 22 text

JSONSchema   @sco8efein    

Slide 23

Slide 23 text

Swagger  2.0   @sco8efein    

Slide 24

Slide 24 text

API  Blueprint  

Slide 25

Slide 25 text

Genera

Slide 26

Slide 26 text

Genera

Slide 27

Slide 27 text

Par

Slide 28

Slide 28 text

Grape  to  Swagger       w/  grape-­‐swagger     Rails  Serializers  to  Swagger     w/Swaggard     @sco8efein    

Slide 29

Slide 29 text

Hand-­‐Built  Specs   Workflow:  Add  a  new  resource,  commit  a  new   spec  for  it     CLI  Tools:   •  Scaffolding   •  Concatena

Slide 30

Slide 30 text

documenta

Slide 31

Slide 31 text

From  Specs  to  Docs   @sco8efein    

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

@sco8efein    

Slide 34

Slide 34 text

@sco8efein    

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Spec  -­‐>  SDKs   h8ps://github.com/swagger-­‐api/swagger-­‐ codegen   h8ps://apima

Slide 37

Slide 37 text

Takeaways   •  Have  an  API  Spec   •  Build  tooling  around  your  documenta

Slide 38

Slide 38 text

Ques