首页 文章

GraphQL PHP完整查询路径

提问于
浏览
0

我正在尝试在我的项目中实现 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

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

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

    你做决定是基于它吗?

相关问题