Ax ios и Express: отправка параметров в запросе Get отправляет пустой объект params бэкэнду - PullRequest
0 голосов
/ 16 марта 2020

Вот запрос Топор ios :

API.get("api/client/getClientByPK", { params: { id: 22 } });

Вот маршрутизатор Express :

router.get("/getClientByPK", function(req, res) {
  logger.info("req.params", JSON.stringify(req.params));
  clientServices.getClientByPK(req.params.id, res);
});

getClientByPk

var getClientByPK = function(clientPk, res) {
  models.client
    .findByPk(clientPk)
    .then(clientFound => {
      logger.debug("clientPk", clientPk);
      logger.info("clientFound", JSON.stringify(clientFound));
      if (clientFound != null) {
        res.status(200).json(clientFound);
      } else {
        res.status(404).json({ error: "ClientNotFound" });
      }
    })
    .catch(error => {
      logger.error(error);
      res.status(400).json(error);
    });
};

Это результат log :

2020-03-16T15:31:10+0100 <info> client_routes.js:12  req.params + {}
2020-03-16T15:31:10+0100 <debug> ClientServices.js:21  clientPk + 
2020-03-16T15:31:10+0100 <info> ClientServices.js:22  clientFound + null

Я протестировал Backend с POSTMAN и это работает отлично. Поэтому я полагаю, что проблема заключается в запросе AX IOS .
PS: Я нашел только один ответ на вопрос о том, что я использую данные вместо параметров, но это все тот же результат.

1 Ответ

2 голосов
/ 16 марта 2020

Ax ios отправляет объект params в качестве параметров запроса.

Вы должны получить доступ к параметрам запроса в express через req.query, а не req.params

...