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
技術戦略としてのデザインエンジニアリング / Design System Study by dip and MOSH
soarteclab
0
80
AI時代における開発生産性と進化可能性を高める技術戦略 / AI DevEX Conference 2026
soarteclab
10
3.6k
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
2
700
lambda-lithアーキテクチャと移植性 / TECH BATON Lambda
soarteclab
1
940
Full-Stack TSでのマルチプロダクト基盤開発 / TSKaigi Hokuriku 2025
soarteclab
4
1.9k
リアーキテクチャとAI活用で実現する急成長プロダクトの開発生産性向上
soarteclab
3
19k
チーム再始動から6ヶ月でデプロイ数を9倍にするまでの取り組み
soarteclab
3
530
400超Lambda構成アプリケーションの漸進的リアーキテクチャ
soarteclab
3
1.3k
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
1.9k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Writing Fast Ruby
sferik
630
63k
The agentic SEO stack - context over prompts
schlessera
0
860
Statistics for Hackers
jakevdp
799
230k
GitHub's CSS Performance
jonrohan
1033
470k
The browser strikes back
jonoalderson
0
1.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The Cost Of JavaScript in 2023
addyosmani
55
10k
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
おわり