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
OpenAPIでのBackend TypeScriptスキーマ駆動開発
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shodai Suzuki
September 22, 2025
1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OpenAPIでのBackend TypeScriptスキーマ駆動開発
2025-09-22 「『TypeScriptのスキーマ駆動開発』実践事例 LT」の登壇資料です。
Shodai Suzuki
September 22, 2025
More Decks by Shodai Suzuki
See All by Shodai Suzuki
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
1
620
lambda-lithアーキテクチャと移植性 / TECH BATON Lambda
soarteclab
1
920
Full-Stack TSでのマルチプロダクト基盤開発 / TSKaigi Hokuriku 2025
soarteclab
4
1.9k
リアーキテクチャとAI活用で実現する急成長プロダクトの開発生産性向上
soarteclab
3
19k
チーム再始動から6ヶ月でデプロイ数を9倍にするまでの取り組み
soarteclab
3
520
400超Lambda構成アプリケーションの漸進的リアーキテクチャ
soarteclab
3
1.3k
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
1.8k
MOSHでのフロントエンドリアーキテクチャの選定技術の紹介
soarteclab
0
1.3k
Webアプリ開発におけるRDBMS基礎
soarteclab
0
260
Featured
See All Featured
Done Done
chrislema
186
16k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
260
Building an army of robots
kneath
306
46k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
Accessibility Awareness
sabderemane
1
140
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
170
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Transcript
OpenAPI でのBackend TypeScript スキーマ駆動開発 Shodai Suzuki @SoartecL 『TypeScript のスキーマ駆動開発』実践事例 LT
2025.09.22 © MOSH Inc.
鈴木翔大 X @SoartecL VP of Technology Productivity チーム( 技 術基盤チーム)
趣味 OSS Orval メンテナ ダイビング
アジェンダ MOSH におけるスキーマ駆動 での開発について スキーマ駆動について 自動生成されるコードの種類 と振る舞いについて OpenAPI からの自動生成 1
2
OpenAPI zod msw + swr + fetch API zod Orval
Orval フロントエンド BFF スキーマ駆動開発
①FE/BE 間での型安全 ②コード自動生成 得られる恩恵
アジェンダ MOSH におけるスキーマ駆動 での開発について スキーマ駆動について 自動生成されるコードの種類 と振る舞いについて 自動生成されるコード 1 2
①Orval の設定ファイル ②自動生成されるコード群 Orval の設定と生成コード
API 開発時の実装部分 1. URL とhandler をマッピング【自動生成】 2. リクエストのスキーマチェック【自動生成】 3. handler.ts
の実装【自分で開発】 4. レスポンスのスキーマチェック【自動生成】
1. URL とhandler をマ ッピング OpenAPI に定義したURL パスと handler のマッピングをroute.ts
とし て生成 route.ts をimport してapp.ts などの entrypoint にマウントして使う route.ts app.ts
2. リクエストのスキー マチェック① handler の雛形をhandlers.ts として自 動生成 既にファイルが存在するパスの場 合は再生成しない 期待するリクエストのzod
スキーマを 指定し、同じくOrval で自動生成され る汎用validator 関数を実行 handlers.ts zod.ts
2. リクエストのスキー マチェック② @hono/zod-validator ベースにした バリデーション関数をvalidator.ts と して自動生成 handler がzod
スキーマを入力 リクエスト/ レスポンスのパラメータ を検証 スキーマが不正な場合にエラーレス ポンスを構築 validator.ts
3. handler.ts の実装 handlers.ts メインの実装 例: json レスポンスの構築を実装 context.ts Hono
Context としてリクエスト/ レスポンスパラメーターを定義 handler 内で`c.params` の様にパ ラメータへアクセス可能 context.ts handlers.ts
4. レスポンスのスキ ーマチェック 期待するリクエストのzod スキーマを 指定し、同じくOrval で自動生成され る汎用validator 関数を実行 handlers.ts
API 開発時の メイン処理の実装に集中
サンプルコード https://github.com/orval-labs/orval/tree/master/samples/hono/composite-routes-with-tags-split
おわり