【发布时间】:2017-12-02 21:15:05
【问题描述】:
是否可以使用fetch API 为每个请求设置默认标头?
我想要做的是在localStorage 中有一个 json web 令牌时设置一个Authorization 标头。我目前的解决方案是使用此功能设置标题:
export default function setHeaders(headers) {
if(localStorage.jwt) {
return {
...headers,
'Authorization': `Bearer ${localStorage.jwt}`
}
} else {
return headers;
}
}
在获取请求中设置标头将如下所示:
return fetch('/someurl', {
method: 'post',
body: JSON.stringify(data),
headers: setHeaders({
'Content-Type': 'application/json'
})
})
但必须有更好的方法来做到这一点。如果有帮助的话,我目前正在开发一个 React/Redux/Express 应用程序。
【问题讨论】:
-
如果由于某种原因您不想使用现有的 fetch 包装器,那么编写一个来添加授权标头应该是直截了当的。
标签: reactjs express redux authorization fetch-api