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

图QL突变中无法识别的参数

公羊喜
2023-03-14

我现在正在学习Meteor/Apollo/GraphQL的教程,在使用参数/变量进行突变时遇到了巨大的麻烦。下面是我的代码和一些注释!

type Resolution {
    _id: String!
    name: String!
}

type Mutation {
    createResolution(name: String!): Resolution
}
import Resolutions from './resolutions'

export default {
    Query: {
        resolutions() {
            return Resolutions.find({}).fetch()
        }
    },
    Mutation: {
        createResolution(obj, args, context) {
            console.log('hey i get here')
        }
    }
}
import React, { Component } from 'react'
import gql from 'graphql-tag'
import { graphql } from 'react-apollo'

const createResolutionQuery = gql`
    mutation createResolution($name: String!) {
        createResolution(name: $name) {
            _id
        }
    }
`

class ResolutionForm extends Component {
    submitForm = () => {
        this.props
            .createResolution({
                variables: {
                    name: this.name.value
                }
            })
            .then(d => console.log('data received'))
            .catch(e => console.log(e))
    }

    render() {
        return (
            <div>
                <input type="text" ref={input => (this.name = input)} />
                <button onClick={this.submitForm}>Submit</button>
            </div>
        )
    }
}

export default graphql(createResolutionQuery, {
    name: 'createResolution'
})(ResolutionForm)
  • 当我尝试将查询发送到服务器时,我收到一个 http 400 错误,并且我收到以下 graphql 错误:“类型为”突变“的字段”createResolution“上的未知参数”名称”。
  • 创建分辨率在我的 graphiQL 中可用,但在文档中没有显示任何参数。
  • 教程中规定,更改 .graphql 模式不会触发 meteor 服务器重新加载,要应用更改,我必须修改我的“register-api”文件,该文件负责制作可执行模式并使用它创建 apollo 服务器。我做了假的更改来触发它,但它没有改变任何东西。
  • 擦除浏览器缓存后,我尝试重新启动服务器,但没有结果。

所以我认为我的问题是突变论点(我知道的精彩演绎),但我不知道哪里是打字错误,或者我错过了什么。欢迎有新面孔的人帮忙,谢谢:)

重新安装 npm 包解决了这个问题。

共有1个答案

华浩壤
2023-03-14

看起来一切都很好,我做了一个小改动,并将其作为拉取请求添加到您的github回购中。

createResolution(obj, {name}, context) {
        console.log('hey i get here')
        const id = Resolutions.insert({
            name,
        })
        return Resolutions.findOne(id)
    }

在我的机器上运行,我没有错误。

 类似资料:
  • 我有一个名为汽车制造商的GraphQL模式,它有两个字段,< code>id和< code>name。我试图通过GraphiQL完成的是将几个数据插入到模式中,但我需要改变这两个提到的字段。 有没有办法在字段上插入所需的值?

  • 我试图从我的jar启动另一个Java进程,我使用的是ProcessBuilder: 错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。无法识别的选项:-类路径“C:\absoulte\path\library.jar;C:\absoulte\path2\library2.jar;C:\absoulte\path3\library3.jar”

  • 我有以下问题。我生成。使用外部应用程序的GIF文件。对我来说,GIF看起来不错,我可以毫无问题地打开它们。然而,使用 要将图像添加到Tkinter标签,会出现以下错误: Tcl错误:无法识别图像文件“C:\Users\D8W\Python\hoang\combi ne\u model\u neu\test\u bauteile\SQTR-VO\prev\u F45\u SQTR.GIF”中的数据

  • 问题内容: Optparse,旧版本只是忽略所有无法识别的参数并继续执行。在大多数情况下,这不是理想的,已在argparse中进行了更改。但是在某些情况下,您想忽略任何无法识别的参数并解析您指定的参数。 例如: 反正有覆盖吗? 问题答案: 更换 与 例如,

  • 有些事情我想应该很容易,但我在网上搜索了很长时间后找不到答案: 我只是想使用graphql进行一次变异,然后再使用另一个graphql查询刷新数据,如何在一个HTTP(graphql)请求中实现这一点? 失败的尝试: 我尝试使用批处理发送包装在一个数组中的两个graphql模式,但它是异步的,查询会在不需要的变异之前返回 我试着用突变编写相同的查询,实际上什么都不突变,并把它放在真正的突变之后,这

  • 我必须使用导航规则编写一个JSF应用程序。我有几个ManagedBean,它们大多是RequestScoped的。当用户单击commandLink或commandButton时,我希望传递一个参数(例如当前Bean的id),以便Bean可以使用传递的id来填充其modell的数据,从而在使用的数据库中查找数据。为此,我使用了以下解决方案: 这样可以工作,并且在URL中可以看到view-param,