使用apollo-server的突变未定义的args

时间:2019-05-15 17:02:48

标签: express graphql apollo-server

我正在使用apollo服务器,一切都按预期进行,但是当从前端调用突变时,突变参数是不确定的。

using System.Collections;
using System.Collections.Generic;

public class Map<E, F> : IEnumerable<KeyValuePair<E, F>>
{
    private readonly Dictionary<E, F> _left = new Dictionary<E, F>();
    public IReadOnlyDictionary<E, F> left => this._left;
    private readonly Dictionary<F, E> _right = new Dictionary<F, E>();
    public IReadOnlyDictionary<F, E> right => this._right;

    public void RemoveLeft(E e)
    {
        if (!this.left.ContainsKey(e)) return;
        this._right.Remove(this.left[e]);
        this._left.Remove(e);
    }

    public void RemoveRight(F f)
    {
        if (!this.right.ContainsKey(f)) return;
        this._left.Remove(this.right[f]);
        this._right.Remove(f);
    }

    public int Count()
    {
        return this.left.Count;
    }

    public void Set(E left, F right)
    {
        if (this.left.ContainsKey(left))
        {
            this.RemoveLeft(left);
        }
        if (this.right.ContainsKey(right))
        {
            this.RemoveRight(right);
        }
        this._left.Add(left, right);
        this._right.Add(right, left);
    }


    public IEnumerator<KeyValuePair<E, F>> GetEnumerator()
    {
        return this.left.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return this.left.GetEnumerator();
    }
}

这是我从/ graphql发送的信息 突变{   createMsg(电子邮件:“ test@mail.com” textarea:“测试文本区” createdAt:“ 19-05-2018”) }

1 个答案:

答案 0 :(得分:0)

解析器签名如下:(parent, args, context, info)其中:

  
      
  • parent:包含从解析程序在父字段上返回的结果的对象,或者在顶级查询字段的情况下,包含从服务器配置传递的rootValue的对象。此参数启用GraphQL查询的嵌套性质。
  •   
  • args:一个对象,其参数传递到查询的字段中。例如,如果使用query {键(arg(arg:“您的意思是”))}调用该字段,则args对象将是:{“ arg”:“您的意思是}。
  •   
  • 上下文:这是特定查询中所有解析程序共享的对象,用于包含每个请求的状态,包括身份验证信息,数据加载器实例以及解析查询时应考虑的任何其他内容。阅读本节以了解何时以及如何使用上下文。
  •   
  • info:此参数包含有关查询的执行状态的信息,包括字段名称,从根到字段的路径等。它仅记录在GraphQL.js源代码中,但由其他模块(如apollo-cache-control)进行了附加功能扩展。
  •   

参数作为 second 参数而不是 first 传递给解析器。有关更多详细信息,请参见the docs