Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tsoaはいいぞ!APIドキュメントを自動生成!

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for ミカイ ミカイ
February 05, 2025
45

 tsoaはいいぞ!APIドキュメントを自動生成!

Avatar for ミカイ

ミカイ

February 05, 2025
Tweet

More Decks by ミカイ

Transcript

  1. ミカイ ジュン (三海 純) 
 • 株式会社 ゆめみ 
 •

    趣味: もくもく会、アニメ、ラブカ(ラブライブTCG) 
 • 好きな有名人 
 ◦ 後藤 ひとり 
 ◦ 陸八魔アル 
 ◦ 千早 愛音
 ◦ 八木 唯

  2. キャリア 
 • 2020年 ~ 2022年: 受託企業 
 ◦ フロントエンドエンジニア

    
 • 2022年 ~ 2023年: 自社開発企業 
 ◦ フロントエンド&バックエンドエンジニア 
 • 2024年: フリーランス 
 ◦ Typescriptでリプレース(技術選定)&開発 
 • 2025年2月 
 ◦ 株式会社 ゆめみ 正社員 

  3. tsoaとは? 
 tsoa は、TypeScript を使用して Node.js サーバー側アプリケーションを構築するための OpenAPI コンパイラを統合したフレームワークです。 


    実行時に Express 、hapi、koa などのフレームワークをターゲットにすることができます。 tsoa アプリケーションはデフォルトでタイプセーフであり、実行時の検証をシームレスに処 理します。 
 英文引用元: https://tsoa-community.github.io/docs/introduction.html 

  4. @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; } }