我用这样的axio配置了我的basesquery。
const baseQuery =
(
{ baseUrl }: { baseUrl: string } = {
baseUrl: "http://localhost:8080/api/v1",
}
): BaseQueryFn<
{
url: string;
method: AxiosRequestConfig["method"];
data?: AxiosRequestConfig["data"];
params?: AxiosRequestConfig["params"];
},
unknown,
unknown
> =>
async ({ url, method, data, params }) => {
try {
debugger;
const result = await axios({
url: baseUrl + url,
method,
data,
params,
withCredentials: true,
});
return { data: result.data };
} catch (axiosError) {
let err = axiosError as AxiosError;
console.log("got this er", err);
return {
error: {
status: err.response?.status,
data: err.response?.data || err.message,
},
};
}
};
这是我的终点
export const questionApiSlice = apiSlice.injectEndpoints({
endpoints: (builder) => ({
sendAnswer: builder.mutation({
query: (answerDetails) => ({
url: "/question/sendAnswer",
method: "POST",
data: { ...answerDetails },
}),
}),
getNextQuestion: builder.mutation({
query: (credentials) => ({
url: "/question/next",
method: "GET",
}),
}),
}),
});
由于某种原因,sendAnswer的变化不包括请求的凭据。我该如何解决这个问题。我一直在尝试在injectEndpoints中编写自己的queryFn,但没有更好的效果。感谢您的宝贵时间
1条答案
按热度按时间eni9jsuy1#
原来我没有正确配置我的SpringSecurityConfig,我已经为cors创建了一个额外的bean,但是它仍然不能正常工作。
在我添加了http.cors()之后,一切都很好,花了3-4个小时在这上面,非常可爱😍