CoreMedia Content Cloud v12 Upgrade Guide / Version 2404
Table Of Contents
The GraphQL schema loading used to work by path patterns. To be more flexible regarding the ability to enable or
disable a feature which may come with a supplementary schema fragment, all schema fragments delivered out of the
box now come as regular Spring Beans with the annotation @Qualifier(“graphqlSchemaResource”)
.
All Spring Beans of the type org.springframework.core.io.Resource
with that qualifier are
automatically collected and added to the resulting schema.
Deployments consisting of custom extensions with a schema fragment must update their implementation to detect the schema extension.
Example Code Snippet: @Bean @Qualifier("graphqlSchemaResource") public Resource mySchemaResource() throws IOException { PathMatchingResourcePatternResolver loader = new PathMatchingResourcePatternResolver(); return Arrays.stream(loader.getResources("classpath*:graphql/my-path/my-schema-extension.graphql")) .findFirst() .orElseThrow(() -> new IOException("GraphQl schema resource graphql/my-path/my-schema-extension.graphql' not found.")); }
Note, that the pattern-based detection of GraphQL schema files also still works. The Spring-GraphQL library detects
by default all schema files on the class path with the file type-extension .graphqls
.