axios 的 headers 设置可能有点小下头:GitHub sinsong/Meirin-WebUI src/utils/api.js:30-34
const meirinPrivileged = axios.create({
baseURL: meirin_api_baseurl,
headers: {
'X-Meirin-Credential': () => getCredential()
}
})
这么写代码发过去的请求是:
GET /v1/policy/count HTTP/1.1
X-Meirin-Credential: () => getCredential()
就离谱
@literalkernel 应该是直接调了ToString方法,显然你应该在create外面get credential,你要是用ts估计能看到这里不能传函数
@mashiro 不能传函数啊。然后我换拦截器实现了,主要是我在前端需要整个逻辑:这个凭据credential是可以配置(整了个页面和表单,存在localStorage里)的,所以得每次请求都读取一下。
@literalkernel 对的,这种一般在interceptor里面封装。而且其实你的写法本来就有点问题,你的相当于:
key:function
但是实际上你应该调用这个函数:
key:function()
@literalkernel 所以还是写在拦截器里面合适