我是靠谱客的博主 醉熏猫咪,最近开发中收集的这篇文章主要介绍graphql在node端使用的增删改操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

graphql在node端使用的增删改操作

在这里所有的操作都在mutation里面实现,mutation与query同级!!!!!!

添加操作

let schema = new GraphQLSchema({
mutation:new GraphQLObjectType({
name:"graphqlMethod",
description:"graphql的方法",
fields:{
insert:{
type: new GraphQLObjectType({
name:"insertMovie",
description:"添加电影",
fields:{
title:{
type:GraphQLString
},
genres:{
type:GraphQLString
},
rating:{
type:GraphQLFloat
},
theater:{
type:GraphQLInt
}
}
}),
args:{
title:{
type:GraphQLNonNull(GraphQLString)
},
genres:{
type:GraphQLString
},
rating:{
type:GraphQLFloat
},
theater:{
type:GraphQLInt
}
},
resolve(obj, args) {
return axios.post("http://localhost:3000/subjects", { ...args })
.then((result) => {
return result.data
})
}
},
}
})
})
//语句
mutation insert{
insert(title:"英伦对决2",genres:"悬疑2",rating:8.8,theater:1){
title,
genres,
rating,
theater
}
}

修改①

let schema = new GraphQLSchema({
mutation:new GraphQLObjectType({
name:"graphqlMethod",
description:"graphql的方法",
fields:{
put:{
type: new GraphQLObjectType({
name:"puttMovie",
description:"更新电影",
fields:{
id:{
type:GraphQLID
},
title:{
type:GraphQLString
},
genres:{
type:GraphQLString
},
rating:{
type:GraphQLFloat
},
theater:{
type:GraphQLInt
}
}
}),
args:{
id:{
type:GraphQLNonNull(GraphQLInt)
},
title:{
type:GraphQLNonNull(GraphQLString)
},
genres:{
type:GraphQLString
},
rating:{
type:GraphQLFloat
},
theater:{
type:GraphQLInt
}
},
resolve(obj, args) {
return axios.put("http://localhost:3000/subjects/"+args.id, { ...args })
.then((result) => {
return result.data
})
}
},
}
})
})
//语句
mutation put{
put(id:4,title:"英伦对决",genres:"悬疑",rating:8.8,theater:1){
id,
title,
genres,
rating,
theater
}
}

修改②

let schema = new GraphQLSchema({
mutation:new GraphQLObjectType({
name:"graphqlMethod",
description:"graphql的方法",
fields:{
patch:{
type: new GraphQLObjectType({
name:"patchtMovie",
description:"更新电影",
fields:{
id:{
type:GraphQLID
},
title:{
type:GraphQLString
},
genres:{
type:GraphQLString
},
rating:{
type:GraphQLFloat
},
theater:{
type:GraphQLInt
}
}
}),
args:{
id:{
type:GraphQLNonNull(GraphQLInt)
},
title:{
type:GraphQLNonNull(GraphQLString)
},
genres:{
type:GraphQLString
},
rating:{
type:GraphQLFloat
},
theater:{
type:GraphQLInt
}
},
resolve(obj, args) {
console.log(args)
return axios.patch("http://localhost:3000/subjects/"+args.id, { ...args })
.then((result) => {
console.log(result)
return result.data
})
}
},
}
})
})
//语句
mutation patch{
put(id:4,title:"英伦对决2"){
id,
title,
genres,
rating,
theater
}
}

删除

let schema = new GraphQLSchema({
mutation:new GraphQLObjectType({
name:"graphqlMethod",
description:"graphql的方法",
fields:{
delete:{
type: new GraphQLObjectType({
name: 'MessageType',
fields:{
message:{
type:GraphQLString
}
}
}),
args: {
id: {
type: new GraphQLNonNull(GraphQLInt)
}
},
resolve(obj,args){
return axios.delete("http://localhost:3000/subjects/" + args.id)
.then((result) => {
return {
message: "数据修改成功."
}
})
}
},
}
})
})
//语句
mutation delete{
delete(id:3){
message
}
}

最后

以上就是醉熏猫咪为你收集整理的graphql在node端使用的增删改操作的全部内容,希望文章能够帮你解决graphql在node端使用的增删改操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部