[英]GraphQL return two optional types
我需要返回一個字符串或布爾值??? 有任何想法嗎?
login: {
type: GraphQLString || GraphQLBoolean, // <------ but it only take one type
description: 'Desc',
resolve: (root, args) => {
// Need to return a string or a boolean
}
您可以查看自定義類型: http : //graphql.org/graphql-js/type/#example-1 。 這使您可以根據您的API用例創建自定義類型。 我會說,這樣做就像是“代碼氣味”,可能需要進一步設計和審查某些內容。
var StringOrBool = new GraphQLScalarType({
name: 'StringOrBool',
serialize: parseStringOrBool,
parseValue: parseStringOrBool,
parseLiteral(ast) => parseStringOrBool(ast.value)
});
function parseStringOrBool(value) {
return (typeof value === 'string' || typeof value === 'boolean') ?
value :
null;
}
您必須檢查它的正確性,但應該可以
您可以為此使用聯合:
http://graphql.org/graphql-js/type/#graphqluniontype
但是,正如griffith_joel所建議的那樣-通過重載該字段,仔細查看您要執行的操作,並考慮將其作為兩個不同的字段是否更好。 不知道您的意圖,但可能不是一個空的“成功”字段和一個可選的“用戶名”字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.