如何在GraphQL中的RESTAPI中获取具有空格、连字符的字段值

如何在GraphQL中的RESTAPI中获取具有空格、连字符的字段值,graphql,apollo,apollo-server,Graphql,Apollo,Apollo Server,REST API端点- 交替版本、旁白和衍生领域都有空格和连字符 common_schema.js 若我将字段值写为派生版本或替代版本,那个么它会在终端中给出一个错误。分拆也不起作用。我知道这些是无效的,但我也试过了 manga_resolver.js 漫画 质疑- 在具有空格和连字符的字段中获取null 查询结果- 根据,GraphQL中的名称必须遵循以下格式: /[_A-Za-z][_0-9A-Za-z]*/ 换句话说,不允许使用空格或破折号。如果数据源返回的属性名称格式不正确,则只需为相

REST API端点-

交替版本、旁白和衍生领域都有空格和连字符

common_schema.js

若我将字段值写为派生版本或替代版本,那个么它会在终端中给出一个错误。分拆也不起作用。我知道这些是无效的,但我也试过了

manga_resolver.js

漫画

质疑-

在具有空格和连字符的字段中获取null

查询结果-

根据,GraphQL中的名称必须遵循以下格式:

/[_A-Za-z][_0-9A-Za-z]*/
换句话说,不允许使用空格或破折号。如果数据源返回的属性名称格式不正确,则只需为相关字段提供解析程序即可:

const resolvers = {
  RelatedType: {
    sideStory: (parent) => {
      return parent['Side story']
    },
    ...
  }
}

另外,虽然您的类型名应该是PascalCase,但您的字段名应该是camelCase,以便与当前的命名约定保持一致。这就是我要找的,谢谢您的帮助!
const { RESTDataSource } = require('apollo-datasource-rest');

class MangaAPI extends RESTDataSource {
    constructor() {
        super();
        this.baseURL = 'https://api.jikan.moe/v3/manga/';
    }

    async getMangaDetail(mal_id) {
        const response = await this.get(`/${mal_id}`);
        return response;
    }
}

module.exports = MangaAPI;
query getMangaDetail{
manga(id: 13){
    related{
      Adaptation{
        name
      }
      AlternativeVersion{
        name
      }
      SpinOff{
        name
      }
    }
  }
}
{
"data": {
    "manga": {
      "related": {
        "Adaptation": [
          {
            "name": "One Piece"
          }
        ],
        "AlternativeVersion": null,
        "SpinOff": null
      }
    }
  }
}
/[_A-Za-z][_0-9A-Za-z]*/
const resolvers = {
  RelatedType: {
    sideStory: (parent) => {
      return parent['Side story']
    },
    ...
  }
}