javascript Fazendoassociaçãentredois tipos no graphql e fazendo o resolver
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript Fazendoassociaçãentredois tipos no graphql e fazendo o resolver相关的知识,希望对你有一定的参考价值。
import { GraphQLServer } from 'graphql-yoga'
// Scalar types - String, Boolean, Int, Float, ID
// Demo user data
const users = [{
id: '1',
name: 'Andrew',
email: 'andrew@example.com',
age: 27
}, {
id: '2',
name: 'Sarah',
email: 'sarah@example.com'
}, {
id: '3',
name: 'Mike',
email: 'mike@example.com'
}]
const posts = [{
id: '10',
title: 'GraphQL 101',
body: 'This is how to use GraphQL...',
published: true,
author: '1'
}, {
id: '11',
title: 'GraphQL 201',
body: 'This is an advanced GraphQL post...',
published: false,
author: '1'
}, {
id: '12',
title: 'Programming Music',
body: '',
published: false,
author: '2'
}]
// Type definitions (schema)
const typeDefs = `
type Query {
users(query: String): [User!]!
posts(query: String): [Post!]!
me: User!
post: Post!
}
type User {
id: ID!
name: String!
email: String!
age: Int
}
type Post {
id: ID!
title: String!
body: String!
published: Boolean!
author: User!
}
`
// Resolvers
const resolvers = {
Query: {
users(parent, args, ctx, info) {
if (!args.query) {
return users
}
return users.filter((user) => {
return user.name.toLowerCase().includes(args.query.toLowerCase())
})
},
posts(parent, args, ctx, info) {
if (!args.query) {
return posts
}
return posts.filter((post) => {
const isTitleMatch = post.title.toLowerCase().includes(args.query.toLowerCase())
const isBodyMatch = post.body.toLowerCase().includes(args.query.toLowerCase())
return isTitleMatch || isBodyMatch
})
},
me() {
return {
id: '123098',
name: 'Mike',
email: 'mike@example.com'
}
},
post() {
return {
id: '092',
title: 'GraphQL 101',
body: '',
published: false
}
}
},
Post: {
author(parent, args, ctx, info) {
return users.find((user) => {
return user.id === parent.author
})
}
}
}
const server = new GraphQLServer({
typeDefs,
resolvers
})
server.start(() => {
console.log('The server is up!')
})
以上是关于javascript Fazendoassociaçãentredois tipos no graphql e fazendo o resolver的主要内容,如果未能解决你的问题,请参考以下文章
javascript的题。
javascript JavaScript isset()等效: - JavaScript
JavaScript 使用JavaScript更改CSS(JavaScript)
JavaScript之基础-1 JavaScript(概述基础语法)
前端基础-JavaScript的基本概述和语法
JavaScript