graphql - 如何在 GraphQL 对象中组合多个字段
问题描述
我正在尝试我的第一个 Graphql Schema 设计。对象类型内的单个字段是否可能引用复杂对象?
enum KeyPrefix {
WS
WK
SI
ENT
}
input generalKey {
keyPrefix:KeyPrefix!
key:Int!
}
type Item
{
pk: generalKey!
data: String!
name: String!
}
它给了我如下错误。Item.pk 的类型必须是 Output Type 但得到:generalKey!
解决方案
input
是保留用于描述 GraphQL 查询输入的关键字。您的架构应如下所示:
enum KeyPrefix {
(your values)
}
type PrimaryKey {
prefix: KeyPrefix!
key: Int!
}
type Item {
pk: PrimaryKey!
data: String!
name: String!
}
当您Query
在 GraphQL 架构中定义 a 时,您将需要使用input
,如下所示:
input PrimaryKeyInput {
prefix: KeyPrefix!
key: Int!
}
type Query {
getItemByPrimaryKey(input: PrimaryKeyInput!): Item
}
这将允许客户要求Item
使用与您相同的字段PrimaryKey
。
推荐阅读
- typo3 - 设置 realurl 以防止“Bad 'L' parameter”错误
- reactjs - React - 定期获取数据(Webrequests)
- php - MySQLi 到 SQLSRV 的迁移 - MySQLi 的 fetch_assoc() 与 SQLSRV 的 fetch()
- dart - Flutter: Pass data from Stateful class to another class
- php - 如何为列表中的每个项目放置一个输入收音机?
- java - 在 SQLite 中通过 2 个参数过滤字符串选择
- c# - 如何解决未处理的异常:ArumentOutOfRangeException
- javascript - 在 javascript 中使用三元运算符而不是 if/else
- django - 如何提高查询性能n+1
- json - 从时间戳制作 QJsonObject 的密钥