Как получить запрос в контроллере - PullRequest
0 голосов
/ 21 ноября 2018

Я использую Express с Typescript и контроллерами.Я пытаюсь сделать BaseController, который содержит запрос и ответ на каждый запрос.Я пробовал что-то подобное, но это не работает.

export * as express from 'express';

const req = express.Request;

1 Ответ

0 голосов
/ 21 ноября 2018

Вы можете создать классы "Controller" для группировки ваших обработчиков маршрута , но Express всегда передает req и res (объекты запросов и ответов) на маршрутобработчики.

Пример использования TypeScript:

// very simplistic example

// "Controller" class
export class UsersController {
  // route handler
  async getUsers(req: Request, res: Response) {
    try {
      const users = await this.usersRepository.fetchUsers();
      return res.json(users);
    } catch (e) {
      console.error(e);
      return res.status(500).end();
    }
  }
}

И где-то с вашим маршрутизатором Express:

const usersController = new UsersController();
app.get('/users', usersController.getUsers);

В качестве бонуса, я бы рекомендовал взглянуть напроект Nest , который предлагает отличные возможности для разработчиков всем, кто хочет использовать и TypeScript, и Express одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...