I have a set of controller functions for my REST API and I\'m getting lots of the following
error TS7006: Parameter \'req\' implicitly has an \'any\' type.
It can be daunting to type the arguments every time you need to write middleware functions so you can just type the whole function directly too.
npm i @types/express --save-dev ("@types/express": "^4.17.0")
After installing typings..
// This can be shortened..
import { Request, Response, NextFunction } from 'express';
export const myMiddleware = (req: Request, res: Response, next: NextFunction) => {
...
};
// to this..
import { RequestHandler } from 'express';
export const myMiddleware: RequestHandler = (req, res, next) => {
...
};
// or in case it handles the error object
import { ErrorRequestHandler } from 'express';
export const myMiddleware: ErrorRequestHandler = (err, req, res, next) => {
...
};