我有一个要与api
一起使用的Web应用程序。我想获取需要令牌的数据。我已经有了令牌,即通过在邮递员中运行登录功能来获得令牌)。问题是:该令牌放在哪里?有人说我需要将其放在headers
中,但找不到在哪里制作此headers
。这是我的代码:
componentDidMount() {
fetch('API_GOES_HERE', {
headers: { Authentication: `Bearer ajsbdjabsjhdbfquhjwbeasbdasdjwbqjbds
}})
.then(res => res.json())
.then(json => {
this.setState({
contact: json,
isLoaded: true,
})
})
.catch(err => console.log(err));
}
没有令牌,api始终返回此{"message":"missing or malformed jwt"}
。我已经尝试从邮递员本身获取此数据,并且它可以工作,因为我已经用令牌设置了令牌变量。
我通过将端点和令牌更改为ENDPOINT_API
和API_TOKEN
来检查它。谢谢,任何帮助将不胜感激。
答案 0 :(得分:1)
您需要在请求标头中包含令牌
fetch('API_ENDPOINT', {
headers: { Authentication: `Bearer ${token}`
})
.then(res => res.json())
.then(json => {
this.setState({
contact: json,
isLoaded: true,
})
})
.catch(err => console.log(err));
答案 1 :(得分:-1)
好的,我找到了这个问题的解决方案,我需要将content-type
放在其自身的标题中,并向https
添加一个API_ENDPOINT
,这是有效的代码
fetch(API_ENDPOINT, {
headers: {
Authorization: `TOKEN`,
'Content-Type': 'application/json',
'Accept': 'application/json'
}})
.then(res => res.json())
.then(json => {
console.log(json)
this.setState({
contact: json,
isLoaded: true,
})
})
.catch(err => console.log(err));