fullstack GraphQL学习笔记(12)修改内容

在hackernews/links/schema.py增加下列内容

#1
class CreateLink(graphene.Mutation):
    id = graphene.Int()
    url = graphene.String()
    description = graphene.String()

    #2
    class Arguments:
        url = graphene.String()
        description = graphene.String()

    #3
    def mutate(self, info, url, description):
        link = Link(url=url, description=description)
        link.save()

        return CreateLink(
            id=link.id,
            url=link.url,
            description=link.description,
        )


#4
class Mutation(graphene.ObjectType):
    create_link = CreateLink.Field()

  #1创建Mutation类CreateLink,并设置返回的字段(向客户端返回的字段)。这里逐个字段定义仅仅是学习目的。可以一次全部定义。

  #2定义可以发送到服务端的数据。也就是客户端传递的参数。

  #3定义mutate方法,根据客户端传递的参数在服务端建立实例,并且返回刚刚创建的CreateLink。

  #4创建一个Mutation类,建立一个字段create_link指向刚刚建立的CreateLink。

hackernews/hackernews/schema.py添加以下mutation:

class Query(links.schema.Query, graphene.ObjectType):
    pass

class Mutation(links.schema.Mutation, graphene.ObjectType):
    pass


schema = graphene.Schema(query=Query,mutation=Mutation)

  现在我们就可以创建连接了

 

posted @ 2018-08-28 17:59  tutu_python  阅读(162)  评论(0)    收藏  举报