@apollo/client 在 React 中,传递标头不起作用

@apollo/client in React, passing header is not working

提问人:Saurabh Singh 提问时间:11/16/2023 更新时间:11/17/2023 访问量:17

问:

我正在尝试在@apollo/客户端useQueryQuery中传递标头,但它没有被传递。 单击登录按钮将调用 loginRequest。它是一个使用 Graphql 的 REST 调用。 重要 -loginRequest 中的>在许多地方被调用,有些地方需要传递标头,有些地方不需要。 下面我添加了查询和示例代码示例。

查询

export const USER_LOGIN = gql`
  fragment LoginInput on REST {
    username: String
    password: String
  }
  query UserLogin($input: LoginInput!) {
    userLogin(input: "input", body: $input)
      @rest(
        type: "Any"
        path: "iam/api/sso/authentication/login"
        method: "POST"
        bodyKey: "body"
      ) {
      access_token
      accessTokenExpired
      lastDateTimeAccessToken
      lastDateTimeRefreshToken
      expires_in
      refresh_expires_in
      refresh_token
      token_type
      id_token
    }
  }
`;
function Login(){

const [loginRequest, data] = useLazyQuery<{userLogin: LoginResponse;}>(USER_LOGIN, {
fetchPolicy: "network-only",
})
const handleLogin=()=>{
  loginRequest(
    variables: {
        input: {
          username: `[email protected]`,
          password: 123,
        },
    context: {
        headers: {
            "x-custom-header": "abc"
        }
       }
      }
)
}
return <>
  <button onClick={handleLogin}> Login</button>
</>
}
reactjs graphql apollo react-apollo

评论


答: 暂无答案