簡體   English   中英

如何設置枚舉以允許在查詢中使用多個枚舉? GraphQL Ruby

[英]How to set up an enum to allow multiple enums in a query? GraphQL Ruby

我在app/graphql/graph/enums中定義了一個枚舉item_status.rb ,它看起來像這樣:

Graph::Enums::ItemStatus = GraphQL::EnumType.define do
 name "ItemStatus"
 description "lorem ipsum"
 
 value "GOOD", "item is good", value: "good"
 value "NORMAL", "item is normal", value: "normal"
 value "BAD", "item is bad", value: "bad"

end

它在我的schema.graphql中定義如下:

enum ItemStatus {
 GOOD
 NORMAL
 BAD
}

我想從我的前端發送一個包含多個 ItemStatus 值的查詢,例如在我的 queryVariables 中我會發送status: ["GOOD", "NORMAL"]我想接收所有具有這些狀態之一的項目背部。 如何修改我的架構以接受值數組和單個值?

查詢中的參數不只是一個字符串數組嗎?

field :your_field, YourType do
  argument :status, [String], required: true
end
def your_field(status:)
  Mymodel.where(status: status)
end

不過,我可能會遺漏一些關於您正在嘗試做的事情。

我更喜歡你需要為查詢變量發送像 [GOOD,NORMAL] 這樣的枚舉數組

像這樣定義您的 graphql 字段:

field :Items, ReturnType do
  argument :statuses, [Graph::Enums::ItemStatus], required: true
end

def Items(statuses:)
  Item.where(status: statuses)
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM