-
- All Implemented Interfaces:
public @interface ExtendsDirective
directive @extends on OBJECT | INTERFACE
Extends directive is used to represent type extensions in the schema. Native type extensions are currently unsupported by the graphql-kotlin libraries. Federated extended types should have corresponding @key directive defined that specifies primary key required to fetch the underlying object.
Example: Given
@KeyDirective(FieldSet("id")) @ExtendsDirective class Product(@ExternalDirective val id: String) { fun newFunctionality(): String = "whatever" }
should generate
type Product @extends @key(fields : "id") { id: String! @external newFunctionality: String! }