Graphql-尝试创建对字段对象的引用时出错

时间:2019-01-16 15:27:23

标签: javascript node.js graphql apollo

我是graphql的新手,正在尝试为我的用户属性之一设置一个字段,该字段不仅仅是StringInt。它应该是对一个对象的引用,据我所知,该对象应该是typeinput

这是我的模式:

schema.graphql

type Mutation {
  addOrChangeUserDetails(location: String, coordinates: LocationCoordinateInput): LocationCoordinates
}

type LocationCoordinates {
  lat: Int!
  long: Int!
}

input LocationCoordinateInput {
  coordinates: LocationCoordinates
}

这是我的查询

index.js

import gql from 'graphql-tag';

const ADD_OR_CHANGE_USER_DETAILS_MUTATION = gql`
  mutation ADD_OR_CHANGE_USER_DETAILS_MUTATION(
    $location: String,
    $coordinates: LocationCoordinates
  ) {
    addOrChangeUserDetails(
      location: $location,
      coordinates: $coordinates
    ) {
      location
      coordinates
    }
  }
`;

我遇到的错误是:

  

错误:LocationCoordinateInput.coordinates的类型必须为Input   输入但得到:LocationCoordinates。

我本来没有LocationCoordinateInput的单独条目,并以为我可以将LocationCoordinates类型用作我的addOrChangeUserDetails参数,但是在研究了这个问题之后,似乎我想要引用的内容将不仅仅是StringInt等,那么我需要创建一个自定义输入。

这是创建“更丰富”字段的正确方法吗?如果是,为什么我的代码无法正常工作?

0 个答案:

没有答案