问题
你好
我想知道如何创建一个端点,该端点首先使用POST方法登录并获取令牌,然后使用该令牌并在GET方法中使用它来访问某些数据。
正如您将在代码中看到的那样,我目前分开了POST和GET的逻辑,但是我的目的是要使端点能够同时使用这两种方法。
这个想法是,在POST方法将令牌返回给我之后,我以后可以在GET方法中使用它。
感谢您的帮助和及时的答复!
代码
app.post('/api/datas/login', async(req, res) =>{
const url = '...';
const options = {
email: process.env.EMAIL,
password: process.env.PASSWORD
}
const call = await axios.post(url, options)
const token = call.status === 200 ? call.data.token : null;
res.send({
status: call.status,
message: 'Logged In'
})
});
app.get('/api/datas/alldata', async(req, res) =>{
try {
const url = '...'
const call = await axios.get(url,{
headers: {
"Authorization" : `Bearer ${token}` //I need to use the token value from the POST method here!
}
});
const data = call.status === 200 ? call.data : null;
console.log(data);
res.status(200).json(data);
} catch (error) {
res.status(500).send({ message: error });
}
})
答案 0 :(得分:0)
是的,如果使用app.all()
而不是post()
或get()
,应该有可能(尽管不推荐)。
您可以获取请求的方法,并通过查看req.method
来采取相应的行动。