Python GraphQL与graphene应用

Python GraphQL与graphene应用 GraphQL查询语言。类型系统Schema定义。Query根查询。Mutation变更。Resolver解析器。graphene库实现。GraphQL与REST对比。动态数据获取。import grapheneclass User(graphene.ObjectType):id graphene.ID()name graphene.String()age graphene.Int()class Query(graphene.ObjectType):user graphene.Field(User, idgraphene.ID(requiredTrue))users graphene.List(User)def resolve_user(root, info, id):return User(idid, nameAlice, age30)def resolve_users(root, info):return [User(id1, nameAlice, age30),User(id2, nameBob, age25)]class CreateUser(graphene.Mutation):class Arguments:name graphene.String(requiredTrue)age graphene.Int()ok graphene.Boolean()user graphene.Field(User)def mutate(root, info, name, age0):return CreateUser(okTrue, userUser(id3, namename, ageage))class Mutation(graphene.ObjectType):create_user CreateUser.Field()schema graphene.Schema(queryQuery, mutationMutation)result schema.execute({users { id name age }})print(result.data)