gpt4 book ai didi

javascript - redux-api-middleware 如何对端点进行全局设置

转载 作者:行者123 更新时间:2023-12-03 06:04:00 25 4
gpt4 key购买 nike

redux-api-middleware 中,我们可以创建如下所示的 API 调用,

export function loadUsers() {
return {
[CALL_API]: {
headers: { 'Content-Type': 'application/json' },
endpoint: 'http://localhost:1337/users',
method: 'GET',
types: [LOAD_USERS_REQUEST, LOAD_USERS_SUCCESS, LOAD_USERS_FAILURE]
}
}
}

问题是,对于每个请求,我都使用通用端点 http://localhost:1337 header 内容类型和授权 token 设置。

我需要一个地方来全局设置这些设置,从他们的官方文档中找不到解决方案。有人知道这个吗?或者有什么想法来实现这一点吗?

提前致谢..

最佳答案

在中间件中,您可以访问存储状态,因此您可以将 token 和其他身份验证信息放入存储中,然后在中间件中使用它。

我遇到了同样的问题,并以这样的实现结束:

const callApiMiddleware = store => next => action => {
// skip everything which is not API call
const callAPI = action[CALL_API]
if (typeof callAPI === 'undefined') {
return next(action);
}

// the session info from store
const session = store.getState().session;

// perform request
const {endpoint, headers, method} = callAPI;
return fetch(endpoint, {
headers: Object.assign({
Authorization: `Bearer ${session && session.token}`
// you can add more default headers there if you would like so
}, headers),
method
});
};

关于javascript - redux-api-middleware 如何对端点进行全局设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39632942/

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