asp.net 模式拼接- chillicream -突变

jq6vz3qz  于 2023-05-08  发布在  .NET
关注(0)|答案(1)|浏览(113)

我想使用模式拼接,但我在使用mutation extend时遇到了问题,可能是传递参数的问题。
我下面的模式拼接代码

extend type Mutation {
space(value: SpaceInput): Int! @delegate(schema: "matterport", path: "space(value: $arguments:value)")
}

我得到以下错误

{
  "errors": [
    {
      "message": "The variable `__arguments_value` is not compatible with the type of the current location.",
      "locations": [
        {
          "line": 2,
          "column": 5
        }
      ],
      "path": [
        "space"
      ],
      "extensions": {
        "variable": "__arguments_value",
        "variableType": "SpaceInput",
        "locationType": "SpaceInput!",
        "specifiedBy": "http://spec.graphql.org/October2021/#sec-All-Variable-Usages-are-Allowed",
        "remote": {
          "message": "The variable `__arguments_value` is not compatible with the type of the current location.",
          "path": [
            "space"
          ],
          "extensions": {
            "variable": "__arguments_value",
            "variableType": "SpaceInput",
            "locationType": "SpaceInput!",
            "specifiedBy": "http://spec.graphql.org/October2021/#sec-All-Variable-Usages-are-Allowed"
          }
        },
        "schemaName": "matterport"
      }
    }
  ]
}

你能帮帮我吗
我正在尝试多个传递参数,但我得到了相同的结果,我描述的错误。

m1m5dgzv

m1m5dgzv1#

正如我从你的错误响应中所看到的,你的扩展因为可空性而无法工作。扩展中的space采用可空参数,而委托中的space采用不可空参数
我通过这部分的回答得出了这样一个结论:

{
      "errors": [
        {
          "extensions": {
            "variableType": "SpaceInput",
            "locationType": "SpaceInput!",
            "specifiedBy": "http://spec.graphql.org/October2021/#sec-All-Variable-Usages-are-Allowed"
            }
          }
        }
      ]
    }

变量类型最终没有!,这意味着类型是不可空的。这种差异可能是不兼容性的原因。在specifiedBy字段中链接的规范中还提到:
AreTypesCompatible(variableType,locationType):
1.如果locationType是非null类型:
a.如果variableType不是非空类型,返回false。

相关问题