gpt4 book ai didi

javascript - Node api GET 状态请求

转载 作者:行者123 更新时间:2023-12-03 00:55:43 26 4
gpt4 key购买 nike

我正在获取该项目的 ID 和当前 status,它可以工作,但我想检查一下它是否处于事件状态,这意味着 active: false 然后返回 -> status 404 ,消息:Status not active。

我的问题是我似乎无法从请求中获得主动返回,我对此很陌生,所以也许我理解错误或犯了一个简单的错误,提前感谢您的帮助。

文档:

{
"_id" : ObjectId("5b3f7b2efe8d1f3ef8096dfd"),
"name" : "Brand Name",
"active" : false,
"__v" : 0
}

代码:

// RETURN ACTIVE STATUS OF SINGLE BRAND FROM DATABASE

router.get('/:id/ActiveStatus', (req, res) => {
var id = req.params.id;

//MY ATTEMPTED TO GET THE ACTIVE STATUS = undefined
var status = req.query.active;
console.log(status);

if(status !== true){
return res.status(404).send({message: 'Status not found.'});
}

if(!ObjectID.isValid(id)){
return res.status(404).send({message: 'Invalid Object ID provided.'})
}

Brand.findById(id, {active: 1}).then((brand) => {
if(!brand){
return res.status(404).send({message: 'Error, status not active.'})
}
res.send({brand});
}).catch((e) => {
return res.status(404).send(e);
});
});

最佳答案

//MY ATTEMPTED TO GET THE ACTIVE STATUS = undefined  
var status = req.query.active;

如果你想获取状态参数,那么根据你的代码,客户端在调用你的api时必须提供它。所以客户端 api 调用应该是 -

https://<url>/<id>/ActiveStatus?active="some value"

之后您可以像在代码中那样访问它。

var status = req.query.active;

如果你想从请求参数中获取它,你可以像这样定义你的路由

// RETURN ACTIVE STATUS OF SINGLE BRAND FROM DATABASE

router.get('/:id/ActiveStatus/:active', (req, res) => {
//your code
});

在这种情况下,您可以通过请求参数访问它,就像您对 id 所做的那样

var status = req.params.active;

关于javascript - Node api GET 状态请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52848081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com