前端技术之:如何Mock GraphQL接口数据

// 第一步:引入所依赖的库
const { makeExecutableSchema, addMockFunctionsToSchema } = require('graphql-tools');
const { graphql } = require('graphql');

// 第二步:定义GraphQL Schema
const schemaString = `
  type User {
    id: ID,
    name: String,
    age: Int,
    address: String
  }
  type Query {
    user: User
  }
`;
// 样例数据
const user = { id: 1, name: 'zhang' };

// 第三步:定义Resolver
const resolvers = {
  Query: {
    user: () => user
  }
};

// 第四步:调用makeExecutableSchema函数生成Schema对象
const schema = makeExecutableSchema({ typeDefs: schemaString, resolvers });

// 第五步:也是重要的一步,调用addMockFunctionsToSchema函数mock Schema
addMockFunctionsToSchema({
  schema,
  mocks: {
    Int: () => 6,
    Float: () => 22.1,
    String: () => 'Hello'
  }
});

// 第六步:也是最后一步,查询并验证结果
const query = `
query tasksForUser {
  user {
    id,
    name,
    age,
    address
  }
}
`;
graphql(schema, query).then(result => console.log('Got result', result));

// 参考资料网址: https://www.apollographql.com/docs/graphql-tools/mocking/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值