- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下是我使用 GraphQL 模式字符串创建模式并将其附加到我的 Express 服务器的方式:
var graphql = require('graphql');
var graphqlHTTP = require('express-graphql');
[...]
return graphqlHTTP({
schema: graphql.buildSchema(schemaText),
rootValue: resolvers,
graphiql: true,
});
union MediaContents = Photo|Youtube
type Media {
Id: String
Type: String
Contents: MediaContents
}
Generated Schema cannot use Interface or Union types for execution
.
最佳答案
这正是我们创建 graphql-tools
的原因。包,就像 buildSchema
的生产就绪的增压版本: http://dev.apollodata.com/tools/graphql-tools/resolvers.html#Unions-and-interfaces
您可以通过提供 __resolveType
来简单地使用联合。联合上的方法,与 GraphQL.js 一样:
# Schema
union Vehicle = Airplane | Car
type Airplane {
wingspan: Int
}
type Car {
licensePlate: String
}
// Resolvers
const resolverMap = {
Vehicle: {
__resolveType(obj, context, info){
if(obj.wingspan){
return 'Airplane';
}
if(obj.licensePlate){
return 'Car';
}
return null;
},
},
};
makeExecutableSchema
,而不是提供解析器作为根对象。 :
const graphqlTools = require('graphql-tools');
return graphqlHTTP({
schema: graphqlTools.makeExecutableSchema({
typeDefs: schemaText,
resolvers: resolvers
}),
graphiql: true,
});
(root, args, context)
而不仅仅是
(args, context)
这是您使用
rootValue
时得到的结果.
关于graphql - 如何在 GraphQL buildSchema 中使用联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44246290/
当我们使用 graphqlHTTP 时,传递给解析方法的第一个参数实际上是客户端查询传递的参数,而不是根参数,这对于查询解析器来说很好。但是对于字段解析器需要知道父级值的用例,如何实现这一点? typ
以下是我使用 GraphQL 模式字符串创建模式并将其附加到我的 Express 服务器的方式: var graphql = require('graphql'); var graphqlHTTP =
我浏览了 GraphQL 的 Object Types教程,然后通读 Constructing Types文档的一部分。我通过创建一个简单的 case convention converter 进行了
两者之间有什么显着差异吗?我对从运行时和启动性能到功能和工作流程差异的任何事情都感兴趣。文档在解释差异以及何时应该使用一个而不是另一个方面做得很差。 两个版本中的示例: 构建架构 const { gr
buildSchema 和有什么区别来自 graphql包和makeExecutableSchema来自 graphql-tools包裹。 最佳答案 除了它们来自两个不同的包,因为 buildSche
如何为我的 制作解析器好友列表 使用新的 GraphQL Schema 语言? friendList 有一组人 _id。 我的新人使用 GraphQL Schema 语言输入: const schem
自从我更新我的 graphql-js 依赖项以来已经大约一年了。我现在看到有一个实用程序可以简化模式生成:buildSchema .此函数将 GraphQL 语言中的整个模式作为字符串作为参数。太棒了
我是一名优秀的程序员,十分优秀!