在Express Middleware中传递JSON数据

时间:2018-07-11 03:40:53

标签: node.js express server routing middleware

我的Express应用程序具有以下路线:

 app.post("/users/me/trackers/court_cases", caseValidator, DriversController.court_cases);

我希望能够将信息从第二个中间件caseValidator传递到第三组中间件。第二个中间件当前从RESTful API提取JSON数据,在将其发送给用户之前,我希望将其传递到最终路由。

这是我当前的案例验证器功能:

caseValidator = function(req, res, next){
    var case_id = req.body.case_id;

    var authOptions = {
        method: 'GET',
        url: `https://www.courtlistener.com/api/rest/v3/dockets/${case_id}/`,
        headers: {
            'Authorization' : "myauth"
        },
        json: true
    };

    var url = `https://www.courtlistener.com/api/rest/v3/dockets/${case_id}/`
    axios(authOptions)
        .then((response) => {
            console.log("success!")
            next();

            //// Pass in the JSON data to the next middleware?
        })
        .catch((error) => {
            res.status(400)
               .send(error)
        });
};

1 个答案:

答案 0 :(得分:2)

您可以使用req.someVar

axios(authOptions)
   .then(response => {
        console.log("success!");
        req.someVar = response.data;
        next();
   })

然后在下一个中间件中,您可以访问该数据。