@remove directiva
La directiva de esquema de GraphQL @remove especifica condiciones para eliminar tipos y campos de la validación o introspección para cada transacción basada en valores del contexto de API.
Por ejemplo, puede evitar que planes específicos utilicen determinados tipos o campos. Para obtener más información sobre el contexto de la API, consulte Variables de contexto deAPI Connect.
Nota: La directiva
@remove modifica dinámicamente el esquema para que las consultas que no se ajusten al esquema, una vez evaluadas las directivas @remove , sean rechazadas por una política validate .- Sintaxis
@remove(if: [String]) on SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION
- Argumentos
Nombre de argumento Tipo Descripción ifLista de series Condición de JSONata que especifica los criterios para la eliminación de un tipo o campo de la validación o introspección. - Limitaciones y reglas de propagación
- Para ver las limitaciones y las reglas de propagación, consulte Limitaciones y reglas de propagación para la directiva GraphQL
@remove. - Ejemplo 1
- Eliminar el tipo
creditCardsi el plan de API actual esbronze.type creditCard @remove(if: ["plan.name in [\"bronze\"]"]) - Ejemplo 2
- Eliminar el tipo
creditCardsi el plan de API actual no esgold, y eliminar el campocard1si el plan de API esbronze.type creditCard @remove(if: ["$not(plan.name = \"gold\")"]){ field1: String } type User { card1: creditCard @remove(if: ["plan.name = 'bronze'", "$not(plan.name = \gold\")"]) }