[英]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.