簡體   English   中英

發送帶空格的單詞時出現Apollo-GraphQL錯誤?

[英]Apollo-GraphQL error when sending word with space?

我有一個GQL Apollo,它按州過濾。 GQL采用“ACCEPTED”或“DECLINED”等值。但是,我注意到當我發送一個像“GOOD LEAVER”這樣有空格的過濾器時,它將不再起作用。 任何想法? 我收到這個錯誤

Stack: GraphQLError: Variable "$stateIn" got invalid value ["GOOD LEAVER"].
In element #0: Expected type "MemberStateType", found "GOOD LEAVER".

發送此變量我使用util函數從props獲取值,函數是

stateIn:
  getFilterProp('status') &&
  getOr([], 'status', selectedFilterOptions).map(({ name }) =>
    toUpper(name)
)

我是百分之百的值發送,因為我可以在網絡選項卡中看到它,它只是拋出上面的錯誤當我想使用過濾器“GOOD LEAVER”,否則,它工作得很好。

從上下文中,我假設$stateIn變量的類型是[MemberStateType] ,而MemberStateType是枚舉。 如錯誤所示, GOOD LEAVER不是此枚舉的有效值。 枚舉值必須是有效的GraphQL名稱,因此它們必須與以下正則表達式匹配:

/[_A-Za-z][_0-9A-Za-z]*/

但是,關鍵不在於您使用空格傳遞名稱 - 重點是您傳入的值與模式中定義的枚舉的可能值不匹配。 如果傳入的值如FWaFJRYyTPx或其他一些無效的枚舉值,則會看到類似的錯誤。

請參閱GraphQL端點的模式以確定有效的枚舉值並相應地轉換輸入。

暫無
暫無

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

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