如何使用Apollo客户端将可选参数传递给Apollo-link-rest指令查询

时间:2020-09-25 08:14:50

标签: apollo react-apollo apollo-client

我正试图编写一个查询来处理一组帐户或单个帐户,具体取决于是否有参数。

我的API返回以下内容:

/accounts

[
  {
    name: 'abc',
    value: 123,
  },
  {
    name: 'bcd',
    value: 234,
  }
]

/accounts/1

{
  name: 'bcd',
  value: 234,
}

我想通过单个查询来管理此端点,因此我可以访问所有数据,也可以仅访问单个帐户的数据。

我试图在查询中将args.accountId设置为可选,但无法正常使用。 支持吗?

  query accounts($accountId: String) {
    accounts(accountId: $accountId) @rest(type: "AccountsPayload", path: "/accounts/{args.accountId}", method: "GET") {
      name
      value
    }
  }

如果我不传递参数,则使用/accounts/undefined

进行呼叫

稍后,我希望能够做到这一点:

const { data: allAccountsData } = useQuery(query);   
or
const { data: singleAccountData } = useQuery(query, { variables: { accountId: '1' } });

谢谢!

0 个答案:

没有答案