req.query не определен для одного URL и не определен с другим URL - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь получить некоторые данные в соответствии с запросом от моего интерфейса;но мой экспресс-сервер не может получать запросы по URL.req.query всегда возвращает undefined.

Эта проблема возникает в ... / routs / api / match.js

Когда я пытаюсь получить некоторые данные, перенаправленные из ... / маршруты/api/summoners.js с почти таким же кодом;Я легко могу получить нужные данные с правильными параметрами запроса.

Этот URL работает: http://localhost:5000/api/summoners/?region=tr&summonerName=Free+Bird;

Но это не http://localhost:5000/api/matches/?accountId=msGjm4PwDSSMN5s_4EGni6e01RW5ChzbkS-Yb12LWJ8

здесь match.js, который не работает:

const express = require("express");
const router = express.Router();
const { Kayn, REGIONS } = require("kayn");
const kayn = Kayn("MY_API_KEY")();

router.get("/", async (req, res) => {
  try {
    const accountId = req.query.accountId;
    const { matches } = await kayn.Matchlist.by.accountID(accountId);
    console.log(`${req.query}`);
    console.log(`${req}`);
    res.status(200).send(JSON.stringify(matches));
  } catch (err) {
    console.log(err.message);
  }
});

module.exports = router;

console.log печатает неопределенный для этого кода.

и вот summoners.js, которыйработает:

const express = require("express");
const router = express.Router();
const { Kayn, REGIONS } = require("kayn");
const kayn = Kayn("MY_API_KEY")();

router.get("/", async (req, res) => {
  const summoner = await kayn.Summoner.by
    .name(req.query.summonerName)
    .region(req.query.region);

  res.status(200).send(JSON.stringify(summoner));
});

module.exports = router;

и вот index.js, который запускает сервер

const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");

const app = express();

//Middleware
app.use(bodyParser.json());
app.use(cors());

const port = process.env.PORT || 5000;

const summoners = require("./routes/api/summoners");
const matches = require("./routes/api/matches");

app.use("/api/summoners", summoners);

app.use("/api/matches", matches);

app.listen(port, () => console.log(`Server started on ${port}`));
...