Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
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
450
How To Use Gensim
cafedomancer
3
630
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
Odyssey Design
rkendrick25
PRO
2
740
WCS-LA-2024
lcolladotor
0
780
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
First, design no harm
axbom
PRO
2
1.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
350
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Why Our Code Smells
bkeepers
PRO
340
58k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
280
Scaling GitHub
holman
464
140k
Abbi's Birthday
coloredviolet
3
8.9k
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 🤣