@remove diretiva
A diretiva de esquema @remove do GraphQL especifica condições para remover tipos e campos da validação ou da introspecção para cada transação com base em valores no contexto da API.
Por exemplo, é possível impedir que Planos específicos usem certos tipos ou campos. Para obter mais informações sobre o contexto da API, consulte Variáveis de contexto do API ConnectAI Gateway.
Nota: A
@remove diretiva modifica dinamicamente o esquema de modo que as consultas que não estejam em conformidade com o esquema, após a avaliação de quaisquer @remove diretivas, sejam rejeitadas por uma validate política.- Sintaxe
@remove(if: [String]) on SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION
- Argumentos
Nome do argumento Tipo Descrição ifLista de Cadeias Condição JSONata que especifica os critérios para remoção de um tipo ou campo por meio de validação ou introspecção. - Limitações e regras de propagação
- Para conhecer as limitações e regras de propagação, consulte Limitações e regras de propagação para a diretiva
@remove` GraphQL `. - Exemplo 1
- Remova o tipo
creditCardse o plano de API atual forbronze.type creditCard @remove(if: ["plan.name in [\"bronze\"]"]) - Exemplo 2
- Remova o tipo
creditCardse o plano de API atual não forgolde remova o campocard1se o plano da API forbronze.type creditCard @remove(if: ["$not(plan.name = \"gold\")"]){ field1: String } type User { card1: creditCard @remove(if: ["plan.name = 'bronze'", "$not(plan.name = \gold\")"]) }