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
OpenAPIでのBackend TypeScriptスキーマ駆動開発
Search
Shodai Suzuki
September 22, 2025
1.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
技術戦略としてのデザインエンジニアリング / Design System Study by dip and MOSH
soarteclab
1
220
AI時代における開発生産性と進化可能性を高める技術戦略 / AI DevEX Conference 2026
soarteclab
10
5.9k
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
2
810
lambda-lithアーキテクチャと移植性 / TECH BATON Lambda
soarteclab
1
1k
Full-Stack TSでのマルチプロダクト基盤開発 / TSKaigi Hokuriku 2025
soarteclab
4
2k
リアーキテクチャとAI活用で実現する急成長プロダクトの開発生産性向上
soarteclab
3
19k
チーム再始動から6ヶ月でデプロイ数を9倍にするまでの取り組み
soarteclab
3
560
400超Lambda構成アプリケーションの漸進的リアーキテクチャ
soarteclab
3
1.4k
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
1.9k
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
109
250k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Why Our Code Smells
bkeepers
PRO
340
58k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
How GitHub (no longer) Works
holman
316
150k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Optimising Largest Contentful Paint
csswizardry
37
4k
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
おわり