在Node.js中使用graphql-tools库来获取GraphQL模式指令中的字段类型,可以通过以下步骤实现:
npm install graphql-tools
const { makeExecutableSchema } = require('graphql-tools');
const { parse } = require('graphql');
const typeDefs = `
type Query {
user(id: ID!): User @cacheControl(maxAge: 3600)
}
type User {
id: ID!
name: String!
email: String!
}
`;
在上述示例中,@cacheControl(maxAge: 3600)
是一个GraphQL模式指令,用于设置缓存控制。
const schema = makeExecutableSchema({
typeDefs: parse(typeDefs),
});
const field = schema.getTypeMap().Query.getFields().user;
const fieldType = field.type.toString();
在上述示例中,我们获取了Query
类型中的user
字段,并通过type.toString()
方法获取了字段的类型。
console.log(fieldType);
以上步骤将打印出User
,表示user
字段的类型是User
。
这是一个简单的示例,演示了如何在Node.js中使用graphql-tools库获取GraphQL模式指令中的字段类型。对于更复杂的模式和指令,可以根据具体情况进行相应的处理。
领取专属 10元无门槛券
手把手带您无忧上云