Spring-GraphQL:参考位于单独目录中的schema.graphqls定义

b5lpy0ml  于 11个月前  发布在  Spring
关注(0)|答案(1)|浏览(166)

我正在使用的Spring-GraphQL服务需要在运行时存在schema.graphqls文件。spring-graphql文档描述了可以解析schema的默认位置:
默认情况下,GraphQL模式文件应该是src/main/resources/graphql,扩展名为".graphqls"".graphql"".gql"".gqls"
我想使用的schema位于classpath上的另一个jar中。Spring文档表明属性spring.graphql.schema.locations可以用来改变文件的位置:
您可以自定义要检查的模式位置,如下所示:spring.graphql.schema.locations=classpath:graphql/
我已经尝试了几个值(比如classpath:**),但是我似乎不能给予正确的位置。有人知道当模式位于单独的目录中时应该使用什么值吗?
我已经使用SomeClass.class.getResource("/schema.graphqls").toURI();验证了模式资源的存在,它返回了模式URI:

jar:file:/home/{myname}/.m2/repository/com/organisation/some-external-lib/1.2.3/some-external-lib-1.2.3.jar!/schema.graphqls

字符串

wooyq4lh

wooyq4lh1#

我发现了一个thread on github,其中讨论了类似的问题。我通过使用以下配置修复了我的问题:

spring.graphql.schema.locations=classpath*:/

字符串

相关问题