2017-08-28 16 views
1

はここGraphQLGraphQLはなぜ「入力」タイプを選択するのですか?

type Client { 
    _id: String 
    short_name: String 
    full_name: String 
    address: String 
    contact_name: String 
    contact_email: String 
    contract_currency: String 
    location: String 
} 

input ClientInput { 
    short_name: String 
    full_name: String 
    address: String 
    contact_name: String 
    contact_email: String 
    contract_currency: String 
    location: String 
} 

彼らは多かれ少なかれ同じですためにクライアントとClientInputのための私の定義です。なぜ彼らは入力タイプを発明することを選択するのですか?ここで

は、私は彼らの公式文書から見つけたものです:graphqlでは、あなたのスキーマ内 ミックス入力および出力の種類をすることができないため

入力は、graphql内の別の特殊なタイプです。

私はまだ完全になぜか分かりません。なぜgraphqlでは、入力と出力のタイプを混在させることができないのですか?

答えて

0

データをDBに挿入すると、データを照会するときに必ずしも同じデータを持つとは限りません。たとえばので、あなたの入力は

input UserInput { 
    name: String 
} 

になり、あなたのタイプは

type User { 
    id: ID! 
    name: String 
} 
+0

た場合になりますあなたはidを持つ「ユーザー」を照会する人々を強制したいが、あなたは、ユーザーの作成時にIDを持っていませんフィールドは同じです。クエリタイプはUserInputと同じ "type User {name:String}"とすることができます。タイプと入力タイプを交換できないのはなぜですか? –

関連する問題