Graphql 参数化查询qraphQL
我想从Apollo客户端向Apollo服务器发出参数化请求 在客户端:Graphql 参数化查询qraphQL,graphql,apollo,react-apollo,Graphql,Apollo,React Apollo,我想从Apollo客户端向Apollo服务器发出参数化请求 在客户端: const GET_VALUES = gql` query Values($desc: String!) { Values } `; 在服务器上(架构): 结果: [GraphQL error]: Message: Field "Values" argument "desc" of type "String!" is required, but it was not provided
const GET_VALUES = gql`
query Values($desc: String!) {
Values
}
`;
在服务器上(架构):
结果:
[GraphQL error]: Message: Field "Values" argument "desc" of type "String!" is required, but it was not provided., Location: [object Object], Path: undefined
[Network error]: ServerError: Response not successful: Received status code 400
在useQuery的变量参数中,应该使用
desc
而不是dirDesc
。试试这个:
const{loading,data,error}=useQuery(获取值{
变量:{desc:dirDesc},
});代码>客户端上的查询声明缺少实际变量。应该是这样的
const GET_VALUES = gql`
query Values($desc: String!) {
Values(dirDesc: $desc)
}
`;
然后,您可以使用提供的useQuery传递dirDesc.dirDesc
而不是desc
@xadm I更改了别名,但结果是samegraphqleror:Syntax Error:Expected Name,found}结果相同(您应该将查询更改为此const GET_VALUES=gql`查询值($desc:String!){value(desc:$desc)}
@aOlegs
const GET_VALUES = gql`
query Values($desc: String!) {
Values(desc: $desc)
}
`;
function ValueSelector({ pickValue, dirDesc }) {
const { loading, data, error } = useQuery(GET_VALUES, {
variables: { desc:dirDesc},
});
const GET_VALUES = gql`
query Values($desc: String!) {
Values(dirDesc: $desc)
}
`;
const GET_VALUES = gql`
query Values($desc: String!) {
Values(desc: $desc)
}
`;
function ValueSelector({ pickValue, dirDesc }) {
const { loading, data, error } = useQuery(GET_VALUES, {
variables: { desc:dirDesc},
});