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
0
80
Schema-first API Development with OpenAPI and Committee
Shohei Umemoto
March 28, 2023
Tweet
Share
More Decks by Shohei Umemoto
See All by Shohei Umemoto
OpenAPI? What Is That? Is That Tasty?
cafedomancer
4
2k
Just Tried Stimulus
cafedomancer
3
970
Ruby Can Learn Something A Little
cafedomancer
2
340
How To Use Gensim
cafedomancer
3
580
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.4k
Being A Developer After 40
akosma
82
580k
Making Projects Easy
brettharned
113
5.8k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
165
48k
Web Components: a chance to create the future
zenorocha
308
41k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
The Invisible Customer
myddelton
119
13k
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 🤣