Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Schema-first API Development with OpenAPI and C...
Search
Shohei Umemoto
March 28, 2023
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Schema-first API Development with OpenAPI and Committee
Shohei Umemoto
March 28, 2023
More Decks by Shohei Umemoto
See All by Shohei Umemoto
OpenAPI? What Is That? Is That Tasty?
cafedomancer
4
2.2k
Just Tried Stimulus
cafedomancer
3
1.2k
Ruby Can Learn Something A Little
cafedomancer
2
460
How To Use Gensim
cafedomancer
3
640
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.4k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
ラッコキーワード サービス紹介資料
rakko
1
5.4M
We Have a Design System, Now What?
morganepeng
55
8.4k
Git: the NoSQL Database
bkeepers
PRO
433
67k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Mobile First: as difficult as doing things right
swwweet
225
10k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The Invisible Side of Design
smashingmag
301
52k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Transcript
2023/03/28 Ruby Jam 3 月場 @cafedomancer Schema-first API Development with
OpenAPI and Committee
Introduction
Shohei Umemoto Hokkaido, Japan Rails, Next.js, Flutter Enishi Tech Inc.
Fjord Boot Camp
Pocco Popsicles for children Ingredients from Hokkaido App: + API:
Interacting by REST API
Schema-first
NOT Schema-first (Schema-last?) Web API Development Backend 1. Design 2.
Develop 3. Verify 4. Release Frontend 1. Wait 2. Wait 3. Wait 4. Develop 5. Uh-oh
Schema-first Web API Development Backend 1. Schema 🤝 2. Develop
3. Verify 4. Release Frontend 1. Schema 🤝 2. Develop 3. Verify 4. Release
How-to
OpenAPI Specification (OAS) Web API specification written in YAML or
JSON Useful tools for OAS, like Swagger Editor, Swagger UI, Swagger Codgen
Committee and Committee::Rails Committee: Rack middleware to validate requests and
responses along with OAS Committee::Rails: Rails integration to utilize assertions like - assert_request_schema_confirm - assert_response_schema_confirm
Demonstration
cafedomancer/petstore https://github.com/cafedomancer/petstore
Conclusion
Pros and Cons Pros: No outdated specification and documentation Pros:
Promote collaborating and reduce reworking Cons: Learn about OpenAPI Specification Cons: Committee doesn't always cover every cases
Thanks for listening Taiwan: Any conferences? Japan: RubyKaigi! Let's talk
in Chinese, Japanese, English 🤣