Skip to content

Commit 6d9a83d

Browse files
authored
_service query should return SDL that contains schema imports (#217)
`@link` directive is used to import elements from other schema. Imported elements can be namespaced and/or renamed. Since this is required information by the gateway, it should be included in the returned `_service { sdl }` query.
1 parent 165c8b3 commit 6d9a83d

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

graphql-java-support/src/main/java/com/apollographql/federation/graphqljava/SchemaTransformer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ public final GraphQLSchema build() throws SchemaProblem {
139139
sdl =
140140
new FederationSdlPrinter(
141141
FederationSdlPrinter.Options.defaultOptions()
142+
.includeSchemaDefinition(true)
142143
.includeScalarTypes(true)
143144
.includeDirectiveDefinitions(
144145
def -> !standardDirectives.contains(def.getName())))

graphql-java-support/src/test/resources/com/apollographql/federation/graphqljava/schemas/fed2Service.graphql

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
schema @link(import : ["@key", "@shareable", {name : "@tag", as : "@apollo_tag"}, "@override"], url : "https://specs.apollo.dev/federation/v2.0"){
2+
query: Query
3+
}
4+
15
directive @federation__extends on OBJECT | INTERFACE
26

37
directive @federation__external on OBJECT | FIELD_DEFINITION
@@ -39,4 +43,4 @@ scalar _Any
3943

4044
scalar federation__FieldSet
4145

42-
scalar federation__Import
46+
scalar federation__Import

0 commit comments

Comments
 (0)