Laravel与GraphQL有个约会(一)-简要分析GraphQL API执行流程

笔者的环境:

Laravel5.6 , folklore/graphql v1.1.0

Laravel体系结构:

项目地址https://packagist.org/packages/folklore/graphql

      webonyx/graphql-php是PHP(5.5 +,7.0 +)中GraphQL规范的一个功能完整的实现。而我们的folklore/graphql项目就是在该项目的基础上实现的。

Clipboard Image.png    

下面来分析GraphQL的执行流程,如下:

当我们访问一个GraphQL后实际上发送了如下的请求:

Clipboard Image.png

打开Laravel路由表:

Clipboard Image.png

发现GraphQL API命中,但是我们并没有定义该路由呀,接着往下看

Clipboard Image.png

项目的Laravel版本是5.6 在安装该扩展的时候需要执行下面的语句,$ php artisan vendor:publish --provider="Folklore\GraphQL\ServiceProvider”。关于这个语句的使用不详述,Laravel5.5新增的,通过执行该命令可以将该ServiceProvider在Laravel项目中注册。

查看ServiceProvider

Clipboard Image.png

routes.php文件中内容如下:

Clipboard Image.png

然后我们再回到GraphQLController中,文件路径在Folklore\GraphQL\GraphQLController

Clipboard Image.png

上图中executeQuery()方法是整个GraphQL API执行的关键,下一篇我会介绍

    

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容