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
BBQ
matthewcrist
89
10k
Leo the Paperboy
mayatellez
10
2.3k
The Curious Case for Waylosing
cassininazir
1
550
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
590
A better future with KSS
kneath
240
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
The Invisible Side of Design
smashingmag
301
52k
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 🤣