如何使用GraphQL和Parse.com构建Web应用程序?

3

我想在新应用程序中使用Parse和GraphQL。它将主要与非登录用户一起工作,人们分享链接并协作某些add hoc项目。这将计划在某个位置进行会议。

有人知道解决方案或知道如何处理吗?似乎这将是制作应用程序的绝佳方式。

编辑

PARSE已经停止更新。


奇怪的关闭投票。 - SuperUberDuper
1个回答

10

当然可以建立一个由Parse对象支持的GraphQL服务器!

在服务器端,您可以像往常一样构建GraphQL类型;例如,如果您在Parse模式中有一个Todo对象和一个User对象(并且正在使用npm中的graphqlgraphql-relay),则可能会得到类似以下的对象:

// Build the GraphQL Todo type.
var GraphQLTodo = new GraphQLObjectType({
  name: 'Todo',
  fields: () => ({
    content: {
      type: GraphQLString,
      resolve: (obj) => obj.get('content')
    },
    done: {
      type: GraphQLBoolean,
      resolve: (obj) => obj.get('done')
    },
    user: {
      type: GraphQLUser,
      resolve: (obj) => obj.get('user')
    }
  }),
});

// Build the connection from User to Todo
var {connectionType, edgeType} = connectionDefinitions({
  name: 'UserTodo',
  nodeType: GraphQLTodo,
});

// Build the GraphQL User type.
var GraphQLUser = new GraphQLObjectType({
  name: 'User',
  fields: () => ({
    todosConnection: {
      type: connectionType,
      args: connectionArgs,
      resolve: (obj, args) => new Parse.Query(Todo).equalTo('user', obj).find()
    }
  },
});

如果用户已在客户端上登录,您可以潜在地向服务器传递会话令牌,以允许使用该会话令牌进行解析查询(出于ACL原因)。


我刚意识到你是谁,能收到你的反馈真是荣幸,Daniel :) - SuperUberDuper
我在想逻辑是否可以嵌入 Parse.com 云代码中,而不是使用 Node 服务器。也许我们可以问问 Parse 的人他们是否计划在 GraphQL 方面做些什么特别的事情。 - SuperUberDuper
2
如果Parse能够直接支持GraphQL,那将是非常棒的。考虑到Parse是Facebook旗下的产品,我猜想只是时间问题。 - Johnny Oshika
有点晚了,但这是关于parse-server的活跃讨论,我们会继续努力! - flovilmart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接