用户登录

在 Graphql 里面,修改数据的动作叫 Mutation .. 在新建的 GraphQLSchema 里面,再添加一个 mutation .. 修改的 RootType 可以叫 MutationRootType ..

找个地方再去定义一下这个 MutationRootType .. 新建一个 GraphQLObjectType .. 再配置一下 ..

类型的 name 可以是 MutationRoot .. 里面有一些 fields .. 先添加一个 createPost .. 它可以创建新的 post 内容 ..

这个 createPost 的类型是 PostType .. 字段支持一些 args,也就是参数 .. 先添加一个 title .. 它的 type 是 GraphQLString .. 这里我们再用一个 GraphQLNonNull ,意思就是这个字符串类型的 title 的值不能是空的 .. new GraphQLNonNull .. GraphQLString ..

在文件的顶部,再从 graphql 里面把 GraphQLNonNull 拿出来用一下 ..

再回来配置这个 createPost .. 复制两份 title .. 创建内容的时候还需要一个 content ... 还有一个 author ..

然后再给字段添加一个 reslove 方法 .. 方法有一个 obj 参数,还有一个 args 参数 .. return 的是 .. 用一下 axios 的 post 方法,创建一个新的内容 .. 地址是 API_BASE .. 加上 posts .. 后面再添加一个对象 .. 里面是要发送的数据 ..

可以把 args 参数里的东西拿出来放到这个数据对象里面 ..

接着用一个 then .. 响应是 response .. 返回 response 里的 data ....

Mutation

下面再回到 GraphiQL 去试一下 .. 这回我们要去配置一下 mutation .. 也可以给这个修改操作起个名字 .. 比如 createPost ..

里面用一下 createPost .. 括号 .. 设置一下它需要的参数 .. 一个 title .. 对应的值是要发布的内容的标题 ...

再添加一个 content ... 它的值是内容的正文 ... 还有一个 author .. 它的值是内容的作者 ...

一组大括号 .. 可以再设置一下要返回的东西 .. 需要新创建的这个内容的 id,title,content 还有内容的 author .. 这里只需要作者里的 name ..

执行一下这个操作 ..

右边返回的是新创建的这个内容 .. 上面有内容的 id,标题,正文,还有作者 ..

再回到项目 .. 打开 db.json ..

在 posts 这里,你会发现,刚才新创建的这个内容项目 ...

修改操作(Mutation):创建新内容《 GraphQL:接口查询语言 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点