如何在RTK Query的fetchBaseQuery中传递请求头对象?
在RTK Query的fetchBaseQuery中添加自定义请求头
你可以通过两种方式把指定的请求头传递给fetchBaseQuery:
1. 全局配置(所有接口请求都携带这些头)
直接在fetchBaseQuery的配置对象里添加headers字段,所有通过这个filmsApi发起的请求都会自动带上这些头:
export const filmsApi = createApi({ reducerPath: 'awaitsFilms', baseQuery: fetchBaseQuery({ baseUrl: url, // 添加全局请求头 headers: { 'X-API-KEY': 'there is apikey', 'Content-Type': 'application/json', } }), endpoints: (build) => ({ getAwaitsFilms: build.query({ query: () => `top?type=TOP_AWAIT_FILMS`, }), }), })
2. 单个接口单独配置(仅该接口携带头)
如果只有getAwaitsFilms这个接口需要这些头,其他接口不需要,可在query方法里返回包含url和headers的对象:
export const filmsApi = createApi({ reducerPath: 'awaitsFilms', baseQuery: fetchBaseQuery({ baseUrl: url, }), endpoints: (build) => ({ getAwaitsFilms: build.query({ query: () => ({ url: `top?type=TOP_AWAIT_FILMS`, headers: { 'X-API-KEY': 'there is apikey', 'Content-Type': 'application/json', } }), }), }), })
全局配置适合所有请求需要统一携带的头,单个接口配置适合仅特定接口需要的自定义头,按需选择即可。
内容的提问来源于stack exchange,提问作者senzu
相关产品推荐
相关产品推荐

