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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shohei Umemoto
March 28, 2023
120
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
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
880
From π to Pie charts
rasagy
0
230
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
The Spectacular Lies of Maps
axbom
PRO
1
850
Into the Great Unknown - MozCon
thekraken
41
2.6k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
WENDY [Excerpt]
tessaabrams
11
38k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Facilitating Awesome Meetings
lara
57
7k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
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 🤣