ExpressのRequestとResponseに型を付ける
Expressの型を拡張して、ルートパラメーターとリクエストボディに型を付けます。
「ExpressのRequestとResponseに型を付ける」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。
ようこそ
型定義のインストール
npm install express
npm install --save-dev @types/express基本的なルートの型
import { Request, Response } from 'express';
app.get('/users', (req: Request, res: Response) => {
res.json({ users: [] });
});ルートパラメーターに型を付ける
interface Params { id: string; }
app.get('/users/:id', (req: Request<Params>, res: Response) => {
const { id } = req.params;
});リクエストボディに型を付ける
interface CreateUser { name: string; email: string; }
app.post('/users', (req: Request<{}, {}, CreateUser>, res: Response) => {
const { name, email } = req.body;
});クエリパラメーターに型を付ける
interface Query { page?: string; limit?: string; }
app.get('/users', (req: Request<{}, {}, {}, Query>, res: Response) => {
const page = parseInt(req.query.page ?? '1');
});Requestの拡張
declare global {
namespace Express {
interface Request { user?: User; }
}
}Responseに型を付ける
app.get('/me', (req: Request, res: Response<User>) => {
res.json(req.user!); // response body must be User
});エラーハンドラーの型
import { ErrorRequestHandler } from 'express';
const errHandler: ErrorRequestHandler = (err, req, res, next) => {
res.status(500).json({ error: err.message });
};型付きRouterの使用
import { Router } from 'express';
const router = Router();
router.get('/:id', (req: Request<{ id: string }>, res) => {});検証ミドルウェア
function parseBody<T>(schema: ZodSchema<T>) {
return (req: Request, res: Response, next: NextFunction) => {
req.body = schema.parse(req.body);
next();
};
}クイックチェック
まとめ
よくある質問
「ExpressのRequestとResponseに型を付ける」レッスンは無料ですか?
はい。「ExpressのRequestとResponseに型を付ける」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。
「ExpressのRequestとResponseに型を付ける」で何を学びますか?
Expressの型を拡張して、ルートパラメーターとリクエストボディに型を付けます。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ExpressのRequestとResponseに型を付ける」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Node.jsでTypeScriptをセットアップする
- ExpressのRequestとResponseに型を付ける
- 型付きMiddlewareとError Handler
- 環境変数とConfigの型付け