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
86
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
1k
Ruby Can Learn Something A Little
cafedomancer
2
360
How To Use Gensim
cafedomancer
3
590
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
A better future with KSS
kneath
238
17k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building Your Own Lightsaber
phodgson
103
6.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
A designer walks into a library…
pauljervisheath
205
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
A Philosophy of Restraint
colly
203
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
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 🤣