我正在开发React Native应用程序,该应用程序连接到用ASP.NET Core 2.1编写的Web API。我正在尝试向我的安全API端点发出GET请求,但它不能同时用于fetch和axios。
值得注意的是,当我向不安全(标记为AllowAnonymous)端点发出请求时,一切都很好。
我正在传递以下标头'Authorization' : 'Bearer ' + MY_TOKEN
当我尝试使用axios时,它返回了HTTP 401。当使用fetch时,它会返回HTTP 500。
const url = `${baseUrl}/api/cars/get`
fetch(url, {
headers: new Headers({
Authorization: "Bearer <MY_TOKEN_HERE>"
}), method: "GET"
})
我确信令牌是有效的,因为我可以使用Postman和.NET Core控制台应用程序客户端从API获取数据。
是否有任何方法可以从安全的API端点获取数据?
我只用了一行代码就解决了这个问题。
axios.defaults.headers.common['Authorization'] = `Bearer ${TOKEN}`
然后我就可以调用get请求了。
const url = `${baseUrl}/api/values`;
axios.get(url)
.then(data => {
console.log(data);
})
.catch(error => {
})
希望它能帮助到将来有这样问题的人。