快速.js服务器:使用中间件的 PUT 请求



我有一个工作的Node/Express服务器,我正在使用它通过localhost向外部API发出请求。正如您在我的示例代码中看到的那样,我将node-fetch用于我的基本 GET 请求。

对于每个请求,我都会提前准备一个实际外部服务器请求所需的const url = BASE_URL

但是我被困在我的PUT-Request,因为我无法使用node-fetch.那么我该怎么做,才能通知我的 Express 服务器 PUT 请求的实际 URL?

PUT 请求直到这里才起作用。

/* Route: Get Appointment it's availability times */
app.get('/availability/times/:id/:date/:locationId', (req, res) => {
var id = req.params.id;
var date = req.params.date;
var locationId = req.params.locationId;
const url = BASE_URL + '/availability/times?appointmentTypeID=' + id + '&date=' + date + '&calendarID=' + locationId;;
fetch(url, {
mode: "no-cors",
method: "GET",
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'content-type'
},
})
.then(response => response.json())
.then(json => {
res.json(json);
});
});
app.put('/appointments/:id/cancel', (req, res) => {
var id = req.params.id;
const url = BASE_URL + '/appointments/' + id + '/cancel';
res.send(req.body)
});

如果您说 put 请求中未定义fetch,请确保在任何路由var fetch = require('node-fetch')之前将其要求在顶部。对于基本 URL,应将其存储在配置文件中。创建一个名为config.js的文件,如下所示:

module.exports = {
'BASE_URL': 'yoururlhere'
}

然后在您的快速服务器var config = require('pathToConfig');中要求这样做,您可以通过指定config.BASE_URL来使用它

如果这没有帮助,请更具体地说明您的实际问题是什么