Я пишу приложение в node.js, используя данные из https://swapi.co/. Одна из моих функций требует проверки, существует ли указанная планета в моей БД, а если нет, API должен загружать данные планеты из свапи, но почему-то я не могу получить данные об указанной по названию планете, я могу получить только данные в формате, указанном по этой ссылке: https://swapi.co/api/planets/?format=json
- когда я пытаюсь отфильтровать или преобразовать этот результат в JSON или отфильтровать его, nodejs выдает мне ошибку, но запись тела ответа в консоли показывает, что он выглядит почти как JSON, поэтому вопрос заключается в том, как вытащить указанный тело ответа планеты?
Код метода:
router.route('/Planets')
.post(function (req, res) {
var planet = new Planet(req.body);
//validate planet.name here
Planet.find({name: planet.name}, function (err, planet) {
if (err) {
res.status(500).send(err);
}
if (planet == '') {
console.log("action: planet not found");
request.get(
'https://swapi.co/api/planets/?format=json',
{json: true},
function (error, response, body) {
console.log(body);
}
);
// planet.save();
res.status(201).send(planet);
} else {
res.status(201).send(planet);
}
})
})
.get(function (req, res) {
Planet.find(function (err, planets) {
if (err) {
res.status(500).send(err);
} else {
res.json(planets);
}
});
});