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
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
130
AI時代における開発生産性と進化可能性を高める技術戦略 / AI DevEX Conference 2026
soarteclab
10
5.1k
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
2
730
lambda-lithアーキテクチャと移植性 / TECH BATON Lambda
soarteclab
1
950
Full-Stack TSでのマルチプロダクト基盤開発 / TSKaigi Hokuriku 2025
soarteclab
4
1.9k
リアーキテクチャとAI活用で実現する急成長プロダクトの開発生産性向上
soarteclab
3
19k
チーム再始動から6ヶ月でデプロイ数を9倍にするまでの取り組み
soarteclab
3
540
400超Lambda構成アプリケーションの漸進的リアーキテクチャ
soarteclab
3
1.3k
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
1.9k
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.8k
Speed Design
sergeychernyshev
33
2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Docker and Python
trallard
47
4.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
260
BBQ
matthewcrist
89
10k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
370
First, design no harm
axbom
PRO
2
1.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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
おわり