GraphQL/GraphCool 为什么坐标不适用于 FLOAT?

GraphQL/GraphCool Why do coordinates don't work with FLOAT?

我目前正在 GraphQL/GraphCool 包装 RestAPI,但是当我用 Float 编写我的解析器以提取纬度和经度作为浮点数时,我收到以下错误:

"code": 5004,
      "message": "Returned JSON Object does not match the GraphQL type. The field 'latitud' should be of type Float \n\n Json: 
{\n  \"id\": \"6115\",\n  \"nombre\": \"ABARROTES LA SOLEDAD\",\n  \"latitud\": \"21.85779823\",\n  \"longitud\": \"-102.28161261\"\n}\n\n"

如果我使用 String 就没有问题!

解析器 SDL

type AbarrotesPayload {
  id: ID!
  nombre: String!
  latitud: Float!
  longitud: Float!
}

extend type Query {
  feed(distancia: Int!): [AbarrotesPayload!]!
}

解析器函数

"use strict";

const fetch = require("node-fetch");
const API_TOKEN = "d3bfd48a-bced-4a58-a58b-4094da934cf1";

module.exports = event => {
  const distancia = event.data.distancia;
  return fetch(getRestEndpoint(distancia, API_TOKEN))
    .then(response => response.json())
    .then(data => {
      const abarrotes = [];
      for (let item in data) {
        abarrotes.push({
          id: data[item].Id,
          nombre: data[item].Nombre,
          latitud: data[item].Latitud,
          longitud: data[item].Longitud
        });
      }
      console.log(abarrotes);
      return { data: abarrotes };
    });
};

function getRestEndpoint(query) {
  return `http://www3.inegi.org.mx/sistemas/api/denue/v1/consulta/buscar/abarrotes/21.85717833,-102.28487238/${query}/${API_TOKEN}`;
}

我的查询如下:

query {
  feed(distancia: 400) {
    id
    nombre
    latitud
    longitud
  }
}

顺便说一下,我正在 graph.cool 平台上工作!

这与 GraphQL/GraphCool 无关,我只需要 parseFloat() 我接收到的字符串值,然后将其推送到数组。

latitud: parseFloat(data[item].Latitud),
longitud: parseFloat(data[item].Longitud)