2017-12-07 23 views
0

は、次のGraphQL型定義を考える:GraphQL - 列挙型の値を引数として突然変異に直接渡しますか?

const typeDefs = ` 
    enum Action { 
    update 
    delete 
    }  

    type Mutation { 
    doSomething(action: Action) 
    } 
`; 

このクエリは動作します:

const query = ` 
    mutation($action: Action) { 
    doSomething(action: $action) 
    } 
` 
const variables = { action: "update" } 

をしかし、この1つはありません:

const query = ` 
    mutation { 
    doSomething(action: "update") 
    } 
` 

GraphQLのように直接列挙値を渡すことはサポートしていません引数?

答えて

0

GraphQLは、列挙型を引数として直接渡すことをサポートしています。しかし、あなたはそれが仕事を得るために値を囲む引用符を省略する必要があります:

const query = ` 
    mutation { 
    doSomething(action: update) 
    } 
` 

specによると:

列挙値は引用符で囲まれていない名前(例:MOBILE_WEB。)として表現されています。

文字列の値とは異なり、列挙型の値は引用符で囲まないでください。変数に変数を使用する場合は、適切なJSON形式に従うことが唯一の理由です。

+0

すばらしい説明をありがとうダニエル! –

関連する問題