GraphQL的探索之路 – SpringBoot集成GraphQL之Query篇三 - 第316篇

一、多个.graphqls文件探索

1.1 说明

       我们项目如果有Book和Author的查询的话,那么我们应该不会把配置都放到一个root.graphqls和schema.graphqls文件中吧,这样不利于团队配合开发,那么是否可以book放到book.graphqls中,author放到author.graphqls中呐?

1.2 建立多个.grphqls文件

建立/resources/graphql/author.graphqls,内容如下:

 
  1. type Author {

  2. id: Int!

  3. name: String

  4. photo: String

  5. }

  6. extend type Query{

  7. findAuthorById(id: Int!):Author

  8. }

说明:这里使用extend继承Root Query,如果不使用extend的话,多个文件的话就不能都生效了。另外对于类型的声明也移到了一起统一管理。

建立/resources/graphql/book.graphqls,内容如下:

 
  1. type Book {

  2. id: Int!

  3. name: String

  4. isbn: String

  5. }

  6. extend type Query{

  7. findBookById(id: Int!):Book

  8. }

       对于root.graphqls和schema.graphqls文件内容为空或者删除掉文件。

1.3 运行测试

       我们这时候启动运行测试,会报一个异常信息:

SchemaClassScannerError: Type definition for root query type 'Query' not found!

       意思我们没有定义Root Query,解决的方式很简单在root.graphqls文件中天极爱一个空的Query即可:

 
  1. #定义查询的方法

  2. type Query {}

       这时候在运行应该是可以正常运行的,在右侧Query进入可以看到两个Query:

 
  1. findAuthorById(id: Int!): Author

  2. findBookById(id: Int!): Book

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:GraphQL的探索之路 – SpringBoot集成GraphQL之Query篇三 - 第316篇

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值