Как добавить заголовки в конечные точки в плагине RTK-запроса?

#graphql-codegen #rtk-query

Вопрос:

Попытка следовать довольно скудному учебнику на официальной странице не продвинет меня далеко.

По сути, я пытаюсь добавить определенный заголовок на основе параметров вызова api, но не знаю, как настроить конечные точки для этого.

Ответ №1:

Все, что вы return получите от query функции вашей конечной точки, будет передано в качестве первого аргумента вашему baseQuery . Так что , если вы используете fetchBaseQuery , вам нужно взглянуть на это.

Как правило, базовый запрос, созданный, fetchBaseQuery принимает все параметры, которые fetch принял бы обычный вызов, включая headers поле.

Таким образом, у вас будет что-то вроде

 myEndpoint: build.query({
  query(args) {
    return {
      url: "foo",
      headers: { myHeader: args.blup }
    }
  }
})
 

должно сработать.

Как правило, помимо «разреженного учебника», при прокрутке вниз есть еще около 25 страниц документации, но даже в этом случае трудно охватить все, так как RTK — запрос довольно гибкий.

Вы можете прочитать больше о fetchBaseQuery в документах здесь: https://redux-toolkit.js.org/rtk-query/api/fetchBaseQuery#using-fetchbasequery

Ответ №2:

@phry ответ не работает над моим делом. Проверка документов, это делает трюк, в моем случае, чтобы решить проблему CORS:

 baseQuery: fetchBaseQuery({ 
        baseUrl: '.....',
        prepareHeaders: (headers, { getState }) => {
            headers.set('Access-Control-Allow-Origin', '*')
            return headers
        }
    }),