GraphQL Directives
Using and defining directives
@include
query GetUser($withEmail: Boolean!) {
user(id: 1) {
name
email @include(if: $withEmail)
}
} # conditionally include field
@skip
query GetUser($skipEmail: Boolean!) {
user(id: 1) {
name
email @skip(if: $skipEmail)
}
} # conditionally skip field
@deprecated
type User {
name: String!
oldField: String @deprecated(reason: "Use newField instead")
} # mark field as deprecated
Custom Directive
directive @auth(requires: Role!) on FIELD_DEFINITION
type Query {
adminData: String @auth(requires: ADMIN)
} # define custom directive