Я хочу получить данные отдела сотрудника из идентификатора отдела запроса, переданного в URL - PullRequest
0 голосов
/ 10 июня 2018

Как использовать дополнительный фильтр запросов на этих маршрутах, например "/ employee? Отдела = 4" и возвращать данные, где номер отдела равен 4

app.get("/employees", (req, res) => {
    dataService.getAllEmployees().then(function(data) {
        res.json(data);
    }).catch(function(err) {
        var error = { "message": err };
        res.json(error);
    });

У меня уже есть функция в модуле dataService, которая возвращает обещаниеотдела с идентификатором ниже

function getEmployeesByDepartment(department) {
    return new Promise((resolve, reject) => {
        try {
            employees.forEach((element) => {
                if (element.department == department) {
                    resolve(element);
                }
            });
        } catch (error) {
            reject("no data returned");
        }
    });
}

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Вы можете использовать req.query для извлечения данных строки запроса и передачи отдела в функцию getEmployeesByDepartment.

app.get("/employees", (req, res) => {
  var department  = req.query.department || "";
  if(department){
    getEmployeesByDepartment(department).then(data => res.json(data));
  }
  else{
    dataService.getAllEmployees().then((data) => {
      res.json(data);
  }).catch((err) => {
      var error = { "message": err };
      res.json(error);
  }
);
0 голосов
/ 10 июня 2018

Вы можете получить доступ к параметрам запроса, используя объект req.query.

В вашем случае код будет выглядеть примерно так:

if (req.query.department) {
  return getEmployeesByDepartment(req.query.department).then(
    data => res.json(data)
  );
} else {
  return dataService.getAllEmployees().then(
    data => res.json(data)
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...