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)
现在我们就可以创建连接了
浙公网安备 33010602011771号