×
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
API Driven Development with Goliath Eric Marden @xentek
Slide 2
Slide 2 text
Hello, World { name: “Eric Marden”, twitter: “@xentek”, blog: “xentek.net”, self_link: “ericmarden.com” } 200 OK
Slide 3
Slide 3 text
Hypermedia APIs REST vs Hypermedia Discoverable Cacheable Linkable HATEOAS API Driven Development
Slide 4
Slide 4 text
Goliath what is it? how can I use it to build awesome hypermedia apis? how does it compare to...? tips, tricks, and gotchas
Slide 5
Slide 5 text
Goliath what is it?
Slide 6
Slide 6 text
Goliath asynchronous low level rack-based built on event machine (reactor pattern) ruby fibers native http parser
Slide 7
Slide 7 text
Goliath features
Slide 8
Slide 8 text
Goliath easy to learn easy to test rich middleware stack fast
Slide 9
Slide 9 text
Goliath request cycle
Slide 10
Slide 10 text
Goliath
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
Goliath
Slide 13
Slide 13 text
Goliath route map
Slide 14
Slide 14 text
Goliath
Slide 15
Slide 15 text
Goliath middleware
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
Goliath endpoint
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Goliath how does it compare to…?
Slide 20
Slide 20 text
Goliath rails versus
Slide 21
Slide 21 text
Goliath sinatra versus
Slide 22
Slide 22 text
Goliath tips, tricks, and gotchas
Slide 23
Slide 23 text
Goliath models, modules, and objects OH MY
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
Goliath configuration
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
Goliath headers
Slide 29
Slide 29 text
Goliath
Slide 30
Slide 30 text
Goliath status codes
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
Goliath validation
Slide 33
Slide 33 text
Goliath Goliath::Rack::Validation::RequiredParam Goliath::Rack::Validation::RequiredValue Goliath::Rack::Validation::RequestMethod ...and many more
Slide 34
Slide 34 text
Goliath error handling
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
Goliath blocking the reactor
Slide 37
Slide 37 text
Goliath testing
Slide 38
Slide 38 text
No content
Slide 39
Slide 39 text
KTHXBYE { name: “Eric Marden”, twitter: “@xentek”, blog: “xentek.net”, self_link: “ericmarden.com” } 410 GONE
Slide 40
Slide 40 text
Further Reading http://goliath.io http://designinghypermediaapis.com/ http://j.mp/rest-fielding-dissertation http://j.mp/api-only-apps-with-rails https://gimmebar.com/loves/xentek/tag/hypermedia http://httpstatus.es/