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:

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.

Was this helpful? What can we improve?

Edit on Github

Newsletter 💌

Do you want to receive the latest updates on Strawberry? Subscribe to our newsletter!