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