Cannot set headers after they are sent to the client error when using the routing-controllers package

Viewed 340

I want to use routing-controllers package in my app. But when I add a middleware I get an error.

Here is my code:

index.ts:

import "reflect-metadata";
import { createExpressServer } from "routing-controllers";
import { UserController } from "./UserController";

const app = createExpressServer({
  defaultErrorHandler: false,
  controllers: [UserController],
});

app.use((req, res, next) => {
  res.status(404).send("Not Found!");
});

app.listen(3000, () => {
  console.log("********listening**********");
});

UserController.ts:

import { Controller, Get } from "routing-controllers";

@Controller("/users")
export class UserController {
  @Get("/")
  getAll() {
    return "This action returns all users";
  }
}

I get "cannot set headers after they are sent to the client error" when I send a request to the "/users/" endpoint. Normally the request finish and the last middleware do not run. Am i wrong?

0 Answers
Related