Back to Strawberry

Exposing directives on the supergraph (Apollo Federation)

docs/federation/custom_directives.md

0.315.3848 B
Original Source

Exposing directives on the supergraph (Apollo Federation)

By default (most) schema directives are hidden from the supergraph schema. If you need to expose a directive to the supergraph, you can use the compose parameter on the @strawberry.federation.schema_directives decorator, here's an example:

python
import strawberry


@strawberry.federation.schema_directive(
    locations=[Location.OBJECT], name="cacheControl", compose=True
)
class CacheControl:
    max_age: int

This will create a cacheControl directive and it will also use @composeDirective on the schema to make sure it is included in the supergraph schema.