当前位置: 首页 > 知识库问答 >
问题:

Graphql数组类型变异

濮翰学
2023-03-14

我正在尝试编写一个突变查询,它可以完美地与图形ql配合使用

mutation($project: ProjectsInput) {
  NewProject(project: $project) {
    name,
    namespace,
    environments{
      env,      
    }}}

这些是查询变量

{"project": {
   "name": "Pr1",
  "namespace": "Pr2",
  "environments": 

  [{"env": "rec"},{"env": "dev"}]


}}

这就是graphql突变的样子,现在我正尝试在angular中使用Apollo Client来构建这种突变


    createProject() {
    this.apollo.mutate({
      mutation: gql`
      mutation($project: ProjectsInput) {
        NewProject(project: $project) {
          name,
          namespace,
          environments{
            env,      
          }
    `,
      variables: { 
        project: {
          name: "sth",
          namespace: "sth2",
          env: [
            {env:"env1"},
            {env:"env2"}
          ]
        } 
      }
    }).subscribe(data => {
      console.log('New project created!', data);

    });  }

但是由于Array类型的变量$env,我得到了Http失败响应。字符串类型的变量没有问题,但是数组对象导致了这个错误。

共有1个答案

郁吉星
2023-03-14

NewProject(项目:显示您的NewProject突变需要一个项目参数

将查询更改为

mutation($project: ProjectsInput) {
  NewProject(project: $project) {
    name,
    namespace,
    environments{
      env,      
    }

并将一个完整的对象传递给变量project

使用查询变量格拉夫ql中定义测试变量:

{ 
  project: {
    name: "sth",
    namespace: "sth2",
    environments: [
      {env:"env1"},
      {env:"env2"}
    ]
  } 
}

然后在客户端为项目变量准备相同类型的对象(当然,结构匹配您的突变输入类型)。

 类似资料:
  • 我正在spring应用程序中使用graphql java工具。我有这样一个实体: 在GraphQL模式中,我想要一个不同的类型: 当然,由于模式解析异常,启动此操作将不起作用。所以我认为在模式解析之间放置一些东西来实现从到的映射是可能的。 这有可能吗? 编辑 抱歉,它不会给出架构解析异常。它将简单地将字节放入字符串中。但是我不能用这个字符串来创建图像。 澄清 对不起,我想我的问题还不够清楚。我不需

  • 我是GraphQL新手,在编写了一些代码之后,我遇到了一个问题,即为一个突变声明一个输入类型。以下是我的模式: 当我运行我的应用程序时,我得到了错误信息 原因:graphql。kickstart。工具。SchemaError:预期类型“IdInput”是GraphQLInputType,但事实并非如此!类型是否只允许对象类型被错误地用作输入类型,反之亦然?在graphql。kickstart。工具

  • 问题内容: 我正在处理阵列,需要一些帮助。我想创建一个数组,其中第一个字段是String类型,第二个字段是Integer类型。对于结果: 调出 问题答案: 数组只能具有单个类型。您可以创建一个新类,例如: 您可能还对使用地图感兴趣(在我看来,您好像正在尝试将字符串映射到ID)。 编辑:您还可以定义类型的对象数组,但这是我通常会避免的事情。

  • 我正在学习Apollo和graphQL,并将其集成到我的一个项目中。到目前为止一切正常,但现在我正在尝试一些突变,我正在努力处理输入类型和查询类型。我觉得事情比实际情况要复杂得多,因此我正在寻求如何处理我的情况的建议。我在网上找到的示例都是非常基本的模式,但现实总是更加复杂,因为我的模式非常大,如下所示(我只复制一部分): 然后定义输入和负载,依此类推... 为此,我需要一个变异来保存“计算”,因

  • 是否可以指定GraphQL中的字段应该是黑盒,就像Flow具有“any”类型一样?我的模式中有一个字段,它应该能够接受任何任意值,可以是字符串、布尔值、对象、数组等。

  • GraphQL中有几个地方需要解析,而不仅仅是中的。 后端API- -用户列表-最少信息-姓名、id 构建一个架构来执行以下查询 模式可以如下- 上述模式中的解析器需要在两个不同的地方包含/处理用户详细信息获取调用。1.用户列表-和2.。必须记住处理这种类型,其中您只有一个用户ID将其转换为实际用户。 在撰写本文时,GraphQL支持和上的。不可能为整个指定解析器-只有中的可以具有解析器。因此,如