GraphQL PHP完整查询路径

时间:2017-11-01 14:09:26

标签: php graphql graphql-php

我正在尝试在我的项目中实施graphql-php的授权。我们的想法是建立一个用户访问数组,在执行查询之前,我可以为每个用户组设置对特定查询和突变的访问权限,并在graphql控制器中实现check-access方法。

一种方法是自己解析请求,但我想知道是否有人知道如何访问查询的完整路径,正如我已经看到它显示在https://webonyx.github.io/graphql-php/error-handling/

<?php
[
    'message' => 'My reported error',
    'category' => 'businessLogic',
    'locations' => [
    ['line' => 10, 'column' => 2]
],
    'path' => [
        'path',
        'to',
        'fieldWithException'
    ]
];

1 个答案:

答案 0 :(得分:0)

可以通过每个解析器函数获取的ResolveInfo对象在解析器中访问该路径。文档没有显示,但每个解析器的第四个参数是ResolveInfo(来自webonyx源$resolveFn($source, $args, $context, $info))。简单来说就是:

function ($root, $args, $context, $info) {
    $path = $resolveInfo->path;
    // your decisioning

}

你是否根据它做决定。