Skip to main content
Brave Programmer Logo

BraveProgrammer

BraveProgrammer

HomeProjectsBlogsCoursesLessonsAbout

Site footer

BraveProgrammer

Free coding courses, practical tutorials, and real projects from BraveProgrammer. Learn web development with React, Next.js, and TypeScript.

Navigation

  • Home
  • Projects
  • Blogs
  • Courses

Resources

  • About
  • Lessons

© 2026 BraveProgrammer. All rights reserved.

  1. Courses
  2. /
  3. TypeScript Mastery

Lesson 35 of 56 · Typescript

Express Server Typed with TypeScript

Duration: 25 minutes

Install dependencies

npm i express
npm i -D @types/express

Basic typed server

import express, { Request, Response } from 'express';

const app = express();
app.use(express.json());

app.get('/ping', (req: Request, res: Response) => {
  res.json({ message: 'pong' });
});

app.post('/users', (req: Request<{ }, {}, { name: string }>, res: Response) => {
  const { name } = req.body;
  res.status(201).json({ id: Date.now(), name });
});

app.listen(4000, () => console.log('🚀 4000'));

Error‑handling middleware typed

import { NextFunction } from 'express';

function errorHandler(err: any, _req: Request, res: Response, _next: NextFunction) {
  console.error(err);
  res.status(500).json({ error: err.message ?? 'Internal Server Error' });
}
app.use(errorHandler);

Info

When using express, pass generic type parameters to Request to type params, query, and body.

Previous: Node.js Basics with TypeScriptNext: Validation with `class-validator` & Decorators