在Apollo GraphQL中,可以使用相同的查询请求不同的字段。下面是一个使用Apollo Client的代码示例:
import { ApolloClient, InMemoryCache, gql } from '@apollo/client';
const client = new ApolloClient({
uri: 'https://api.example.com/graphql',
cache: new InMemoryCache(),
});
// 定义查询
const query = gql`
query {
user(id: 1) {
id
name
}
}
`;
// 执行查询
client.query({ query })
.then(response => {
console.log(response.data.user);
})
.catch(error => {
console.error(error);
});
// 定义另一个查询,请求不同的字段
const anotherQuery = gql`
query {
user(id: 1) {
id
email
}
}
`;
// 执行另一个查询
client.query({ query: anotherQuery })
.then(response => {
console.log(response.data.user);
})
.catch(error => {
console.error(error);
});
在这个例子中,我们首先定义了一个查询query
,该查询请求user
的id
和name
字段。然后,我们使用Apollo Client的query
方法执行该查询,并在控制台输出响应数据中的user
字段。
接下来,我们定义了另一个查询anotherQuery
,该查询请求user
的id
和email
字段。同样,我们使用Apollo Client的query
方法执行该查询,并在控制台输出响应数据中的user
字段。
使用这种方法,我们可以在相同的GraphQL查询中请求不同的字段,而不需要创建多个查询。