首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraphQL使用GraphQL工具获取用户

GraphQL使用GraphQL工具获取用户
EN

Stack Overflow用户
提问于 2016-12-02 12:04:56
回答 2查看 375关注 0票数 2

我有一个使用GraphQL的ExpressJS服务器。这是使用GraphQL工具的模式:

代码语言:javascript
复制
import UserModel from '../models/User'

export const Schema =  `

type User {
    id: Int!
    firstName: String
    lastName: String
}

type Query {
    users: [User]
}

schema {
    query: Query
}

`

export const resolveFunctions = {
    Query: {
        users() {
            return UserModel.findAll()
        }
    }
}

如果没有GraphQL工具,我就可以获得用户和特定用户的完整列表,但是现在当我使用GraphQL工具时,我不知道如何通过id获取某个用户。

除了官方文档之外,我在GraphQL工具上没有找到任何资源,所以我希望这能帮助其他正在寻找答案的人。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-02 13:00:15

您应该添加一个查询:

代码语言:javascript
复制
user(id: String!): User

处理人员:

代码语言:javascript
复制
user(root, args, ctx) {
  return UserModel.findOne({id: args.id});
}

(您可能需要调整参数类型和调用语义,我刚刚概述了所需的步骤)。

如果您希望看到一个有用的示例,您可以查看一个graphQL启动项目。我最近向它添加了一个非常类似的查询。

票数 4
EN

Stack Overflow用户

发布于 2017-07-19 13:45:33

也许你应该看看图形化。它是构建在graphql-tools之上的一个抽象,可以帮助您更容易地开发Graphql服务。下面是使用graphqly的示例代码

代码语言:javascript
复制
import graphly from "graphqly";

const gBuilder = graphly.createBuilder();

// define types, inputs ... (in any order)
gBuilder.type("Products").implements("List").def(`
    products: [Product]!
`);

gBuilder.type("Product").def(`
    id: ID!
    name: String!
    link: String
    price: Int
`);

gBuilder
.query(`
    products(limit: Int = 20, offset: Int = 0, filter: ProductFilter): Products
`)
.resolve((root, args, context) => {
    // your resolver here
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40931824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档