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
tsoaはいいぞ!APIドキュメントを自動生成!
Search
ミカイ
February 05, 2025
0
22
tsoaはいいぞ!APIドキュメントを自動生成!
shibuya.ts
2025/02/05
https://shibuya-ts.connpass.com/event/339243/
ミカイ
February 05, 2025
Tweet
Share
More Decks by ミカイ
See All by ミカイ
今からフロントエンドを0から勉強するならSvelteもありかも
junmikai
0
36
生成AI活用はHOWが大事な理由
junmikai
0
120
2025年の抱負: フリーランスから 正社員に戻るので 組織に貢献します!
junmikai
0
77
Chakra UI v3にバージョンアップしてほぼ別物になった件
junmikai
0
490
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
5
成長するには「重要 VS 緊急」を意識しよう
junmikai
0
10
LTのテーマ決めは「多数派」を意識しよう ~ LT年40回登壇した件~
junmikai
0
16
目標は「めいそう」が大事。漢字はどう書く?
junmikai
2
30
技術選定で迷ったら『日常』を思い出そう! 〜考え方の新発見〜
junmikai
0
75
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
How to Ace a Technical Interview
jacobian
277
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
A designer walks into a library…
pauljervisheath
207
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Site-Speed That Sticks
csswizardry
10
690
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
730
Transcript
tsoaはいいぞ! APIドキュメントを 自動生成! 三海
純(ミカイジュン)
ミカイ ジュン (三海 純) • 株式会社 ゆめみ •
趣味: もくもく会、アニメ、ラブカ(ラブライブTCG) • 好きな有名人 ◦ 後藤 ひとり ◦ 陸八魔アル ◦ 千早 愛音 ◦ 八木 唯
キャリア • 2020年 ~ 2022年: 受託企業 ◦ フロントエンドエンジニア
• 2022年 ~ 2023年: 自社開発企業 ◦ フロントエンド&バックエンドエンジニア • 2024年: フリーランス ◦ Typescriptでリプレース(技術選定)&開発 • 2025年2月 ◦ 株式会社 ゆめみ 正社員
こんなことありませんか? スキーマ(Open API仕様書) と 実際のレスポンス違うぞ・・・
そして・・・ YAMLファイルを 書いて1日が終わる日々・・・
そんなあなたにおすすめしたいのが tsoa 引用元: https://tsoa-community.github.io/docs/
tsoaとは? tsoa は、TypeScript を使用して Node.js サーバー側アプリケーションを構築するための OpenAPI コンパイラを統合したフレームワークです。
実行時に Express 、hapi、koa などのフレームワークをターゲットにすることができます。 tsoa アプリケーションはデフォルトでタイプセーフであり、実行時の検証をシームレスに処 理します。 英文引用元: https://tsoa-community.github.io/docs/introduction.html
ようするに・・・ ExpressなどのNode.jsフレームワークでコー ドを書くと スキーマを自動生成してくれる!
@Route("users") export class UsersController extends Controller { @Get("{userId}") public async
getUser( @Path() userId: number, @Query() name?: string ): Promise<User> { return new UsersService().get(userId, name); } @SuccessResponse("201", "Created") @Post() public async createUser( @Body() requestBody: UserCreationParams ): Promise<void> { this.setStatus(201); new UsersService().create(requestBody); return; } }
スキーマ自動生成! 引用元: https://tsoa-community.github.io/docs/live-reloading.html
http://localhost:3000/docs で動作確認できる! 引用元: https://tsoa-community.github.io/docs/live-reloading.html
スキーマが自動生成されることで・・・ フロントエンド側でバックエンドの スケジュールに関係なく APIを叩けるようになった!
なぜって・・・?
フロントエンドエンジニアがtsoaで バックエンド実装 すればいいじゃない! (DB通さないで適当なレスポンスを返すのもあり)
おそらく・・・ フロントエンド側も TypeScript使ってることが多いと思うので tsoaを使うことで バックエンド実装がしやすくなる
tsoaがもっと流行ると・・・ フロントエンドエンジニア バックエンドエンジニア というポジションが融合されるかも?
まとめ スキーマを書く手間を 省きたいならtsoaはいいぞ!
ご清聴ありがとうござ います!