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
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
The Limits of Empathy - UXLibs8
cassininazir
1
360
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Marketing to machines
jonoalderson
1
5.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
330
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
First, design no harm
axbom
PRO
2
1.2k
Leo the Paperboy
mayatellez
7
1.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
260
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
おわり