作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始使用 GraphQL。我正在尝试将数据解析为 GraphQL 类型。我不明白为什么以下内容不起作用。
鉴于此数据:
{
"kind": "youtube#searchListResponse",
"etag": "\"CuSCwMPVmgi8taDtE2LV6HdgkN0/USvbH1nSht52L3y8EP6BIwVRhgM\"",
"items": [{
"kind": "youtube#searchResult",
"etag": "\"CuSCwMPVmgi8taDtE2LV6HdgkN0/xpywjUARlQ0Ai4IucTvXRNCfTcE\"",
"id": {
"kind": "youtube#video",
"videoId": "zvRbU1Ql5BQ"
}
}]
}
这是输入的代码。
const ItemType = new GraphQLInterfaceType({
name: 'Item',
fields: {
kind: { type: StringType },
},
});
const YoutubeDataType = new GraphQLObjectType({
name: 'PublicYoutube',
fields: {
kind: { type: new GraphQLNonNull(StringType) },
etag: { type: new GraphQLNonNull(StringType) },
items: { type: new GraphQLList(ItemType) }, // returns null
// items: { type: StringType }, // returns "[object Object]"... so it's being passed in
},
});
这是通过 GraphiQL 返回的内容。为什么 items
等于 null
?
{
"data": {
"publicyoutube": {
"kind": "youtube#searchListResponse",
"etag": "\"CuSCwMPVmgi8taDtE2LV6HdgkN0/OspGzY61uG9sSD_AWlfwkTBjG-8\"",
"items": [
null
]
}
},
"errors": [
{
"message": "Cannot read property 'length' of undefined"
}
]
}
感谢您的帮助。
最佳答案
我误解了 GraphQLInterfaceType 的用途并且使用了错误的方法。而不是使用GraphQLInterfaceType,它应该是GraphQLObjectType;
const ItemType = new GraphQLObjectType({
name: 'Item',
fields: {
kind: { type: StringType },
},
});
const YoutubeDataType = new GraphQLObjectType({
name: 'PublicYoutube',
fields: {
kind: { type: new GraphQLNonNull(StringType) },
etag: { type: new GraphQLNonNull(StringType) },
items: { type: new GraphQLList(ItemType) }, // returns null
// items: { type: StringType }, // returns "[object Object]"... so it's being passed in
},
});
输出:
{
"data": {
"publicyoutube": {
"kind": "youtube#searchListResponse",
"etag": "\"CuSCwMPVmgi8taDtE2LV6HdgkN0/-aZNXBVLYOJwPMdleXmbTlJSo_E\"",
"items": [
{
"kind": "youtube#searchResult"
}
]
}
}
}
关于javascript - 如何正确使用 GraphQLList 和 GraphQLInterfaceType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36814486/
在 GraphQL 中,我们可以在 GraphQLList 中编写对象类型并获取所有字段。我正在使用 Association 并且它正在加入两个表,但我无法获取两个表的字段。它只需要我在 GraphQ
我开始使用 GraphQL。我正在尝试将数据解析为 GraphQL 类型。我不明白为什么以下内容不起作用。 鉴于此数据: { "kind": "youtube#searchListRespon
我想学习 GraphQL,并且正在编写一个代表书店的示例,用户可以在其中成为多本书的作者。 我的问题是我无法在 UserType (GraphQLObjectType) 中定义“BookType”类型
我是一名优秀的程序员,十分优秀!