5

apollo-server を利用した node.js プロジェクトがあります。@adminクエリ、ミューテーション、オブジェクト フィールドの権限チェックを行うカスタム ディレクティブを使用します。クエリとミューテーションの場合、このディレクティブはエラーをスローし、フィールドの場合は実際の値ではなく null を返します。

ここで、graphiql ui をプロジェクトに追加して、仲間の開発者が私の graphql スキーマを探索できるようにします。@adminただし、匿名ユーザーが見るようにスキーマを見てもらいたいです。つまり、フィールドと@adminクエリの存在とすべてのミューテーション (管理者以外のものも含む) を知る必要はありません。これらの操作を実行するための資格情報を持っている (つまり、管理者としてログインしている) 人でさえ、スキーマのそれらの部分を見るべきではありません。

私が理解している限り、graphiql は特別なイントロスペクション クエリを送信します。これには、スキーマとそのドキュメントを表示するフィールドが含ま__schemaれます。__type

makeExecutableSchemafromを使用して構築されたスキーマを何らかの方法で変更してgraphql-tools、目標を達成することはできますか?

4

3 に答える 3