gpt4 book ai didi

javascript - 将字符串数组传递给 GraphQL 查询,在嵌入时转换为整数

转载 作者:行者123 更新时间:2023-11-30 07:31:20 27 4
gpt4 key购买 nike

我正在尝试找出一种方法来传递字符串数组并将其嵌入到查询中(使用 React、GraphQL)。问题是它接受参数作为字符串数组,但在我嵌入它时将其转换为字符串。

假设我有一个调用来获取一些数据的函数。 (我现在对参数进行了硬编码,但一旦我弄清楚它就会成为一个变量)。

//这里我调用函数

 const query = getData.generate(["123", "456"]);
return GraphqlClient.query(query)
.then((e) => {
return e.data.oneAppProviders;
}) .......

//这里是带有嵌入参数的查询。 (后端需要一个字符串数组。)

export default {
generate(id) {
// console.log(id) // output: ["123", "456"]
return { query : gql`{
oneAppProviders(id: ${id}) {
id
firstName
}
}
}}

当我运行它时,我得到这个错误:

GraphQLError {message: "Syntax Error: Expected Name, found Int "456""

我想,当我嵌入它时,它会将其转换为整数...如果我的数组是 ["123"],我会收到以下错误:

[GraphQL error]: Message: Expected type [String], found 123.

我希望这个问题足够清楚。提前致谢。

最佳答案

也许这对某人有帮助:

export const UserFlagsQuery = gql`
query($flags: [String!]!) {
user {
flags(where: { AND: [{ name_in: $flags }, { enabled: true }] }) {
name
enabled
}
}
}
`;

在 React Query 组件中使用此查询,如下所示:

<Query
query={UserFlagsQuery}
variables={{
flags: ["flag1", "flag2", "..."],
}}
>

感谢@David Maze 的回答。

关于javascript - 将字符串数组传递给 GraphQL 查询,在嵌入时转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51885547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com