[英]Passing arguments to graphQL query
我正在努力在节点中设置graphQL架构。 /graphql
端点通常会被传递的参数命中。 例如,一个API调用可能正在寻找“检查”帐户:
query {
accounts(type: "checking") {
id
type
country
currency
}
}
另一个可能正在寻找“美国”中的所有帐户:
query {
accounts(country: "US") {
id
type
country
currency
}
}
......而另一个人可能正在寻找以“GBP”计价的“英国”中的“储蓄”账户:
query {
accounts(type: "savings", country: "UK", currency: "GBP") {
id
type
country
currency
}
}
定义此查询的正确方法是为type
, country
和currency
可选参数吗?
这实际上取决于你想要如何设计你的API,这个答案没有对错,我不确定是否通常有一个正确的方法。
但是,如果您确定要描述的场景,那么是的, type
, country
和currency
都应该是可选的,因为您在某些查询中将它们排除在外。 如果你没有使这些可选,那么你的GraphQL服务器如果没有传入则会抛出错误。
另一种选择可能是将所有这些参数包装在带有可选字段的filter
对象中。 此外, type
, currency
和country
可能更好地表示为枚举而不是字符串:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.