当我想在Overblog graphql中使用注解时如何定义架构?

问题描述 投票:0回答:1

我想在symfony中使用带有Overblog graphql的注释。当我通过查询创建提供程序时,出现关于架构的错误。

错误:应该声明至少一个模式

我不知道如何在配置文件中配置架构。通常我使用yaml作为类型。

当我使用默认值时,它指向yaml配置文件。我不知道如何在php中使用注释来更改它。当我从定义中删除架构时,会出现相同的错误。

要在Overblog graphql包中使用批注,我需要更改什么?

/ config / packages / graphql.yaml

s using CoreQuery what

/ src / Graphql / Types / SensorProviders.php

overblog_graphql:
  definitions:
    schema:
      default:
        query: CoreQuery
#        mutation: CoreMutation

    show_debug_info: '%kernel.debug%'
    mappings:
      auto_discover: false
      types:
        - type: annotation
          dir: "%kernel.project_dir%/src/GraphQL"
          suffix: ~

/ src / Graphql / Types / Sensor.php

namespace App\Graphql\Types;

use Overblog\GraphQLBundle\Annotation as GQL;

/**
 * @GQL\Provider
 */
class SensorProviders {

    /**
     * @GQL\Query(type="[Sensor]", name="sensors")
     */
    public function getSensors() {
        return [];
    }
}
symfony annotations graphql
1个回答
0
投票

我有同样的问题,但是经过数小时的调试,我发现了:

namespace App\Graphql\Types; use Overblog\GraphQLBundle\Annotation as GQL; /** * @GQL\Type */ class Sensor { /** * @GQL\Field(type="Integer!") */ public $id; } ,您需要以下附加文件:graphql.yaml

/src/Graphql/Types/CoreQuery.php

基本上,您需要定义一个空的根类型,所有带注释的查询都会自动添加。突变也一样。

© www.soinside.com 2019 - 2024. All rights reserved.