Federation

Companion
object
class Object
trait Matchable
class Any

Type members

Classlikes

case
class GQLExtend() extends GQLDirective
case
class GQLExternal() extends GQLDirective
case
class GQLKey(fields: String) extends GQLDirective
case
class GQLProvides(fields: String) extends GQLDirective
case
class GQLRequires(fields: String) extends GQLDirective
object Key
object Provides
object Requires

Value members

Concrete methods

def federate[R](original: GraphQL[R]): GraphQL[R]

Accepts a GraphQL and returns a GraphQL with the minimum settings to support federation. This variant does not provide any stitching capabilities, it merely makes this schema consumable by a graphql federation gateway.

Accepts a GraphQL and returns a GraphQL with the minimum settings to support federation. This variant does not provide any stitching capabilities, it merely makes this schema consumable by a graphql federation gateway.

Value Params
original

The original schema

Returns

A new schema which has been augmented with federation types

def federate[R](original: GraphQL[R], resolver: EntityResolver[R], otherResolvers: EntityResolver[R]*): GraphQL[R]

Accepts a GraphQL as well as entity resolvers in order to support more advanced federation use cases. This variant will allow the gateway to query for entities by resolver.

Accepts a GraphQL as well as entity resolvers in order to support more advanced federation use cases. This variant will allow the gateway to query for entities by resolver.

Value Params
original

The original schema

otherResolvers

Additional resolvers to supply

resolver

A type which can resolve a single type by a key which is provided per type using the @key directive

def federated[R](resolver: EntityResolver[R], others: EntityResolver[R]*): GraphQLAspect[Nothing, R]

Concrete fields

val Extend: Directive
val External: Directive
lazy
val federated: GraphQLAspect[Nothing, Any]