调用外部API时的快速路由

时间:2018-10-09 19:13:59

标签: javascript express

我正在使用express来调用外部API

我希望我的主页成为搜索表单,然后将发布请求发送到/results,其中路由从搜索表单中获取查询,将其附加到外部API,进行调用,然后显示结果。

请记住,调用来自Google Graph Search API,并返回JSON-LD

这是我到目前为止所拥有的:

const express = require('express');
const request = require('request');
const path = require('path');
const bodyParser = require('body-parser');
const app = express();

// Set views
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

// Configure body-parser
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Example app listening on port ${PORT}!`);
});

const url =
  'https://www.example.com/api/search_wrapper?query=';

app.get('/', (req, res) => {
  console.log(req);
  res.render('search');
});

app.post('/results', (req, res) => {
  request(`${url}${req.body.term}`, (error, response, body) => {
    if (!error && response.statusCode === 200) {
      res.send(body);
      console.log(typeof body) // string
    } else {
      console.log(error);
    }
  });
});

上面显示了看起来像JSON的内容,但是当我尝试发送某些键和console.log时,它是未定义的。我猜这是因为它以字符串形式读取它。

有什么建议吗?

0 个答案:

没有答案