如何为此 apollo graphql 服务器创建解析器

问题描述 投票:0回答:1

如何使用给定的输出和类型定义为 Apollo GraphQL Server 创建解析器

{
  "data": {
    "department": [
      {
        "id": "123",
        "booksubdepartment": [
          {
            "id": "111",
            "departmentID": "123",
            "books": [
              {
                "subdepartmentId":"111",
                "bookTitle": "Book One on sub department 111"
              },
              {
                "subdepartmentId":"111",
                "bookTitle": "Book Two on sub department 111"
              }
            ]
          },
          {
            "id": "222",
            "books": [
              {
                "subdepartmentId":"222",
                "bookTitle": "Book one on sub department 222"
              },
              {
                "subdepartmentId":"222",
                "bookTitle": "Book two on sub department 222"
              }
            ]
          }
        ]
      },
      {
        "id": "345",
        "booksubdepartment": [
          {
            "id": "333",
            "departmentID": "345",
            "books": [
              {
                "subdepartmentId":"333",
                "bookTitle": "Book one on sub department 333"
              },
              {
                "subdepartmentId":"333",
                "bookTitle": "Book two on sub department 333"
              }
            ]
          },
          {
            "id": "444",
            "books": [
              {
                "subdepartmentId":"444",
                "bookTitle": "Book one on sub department 444"
              },
              {
                "subdepartmentId":"444",
                "bookTitle": "Book two on sub department 444"
              }
            ]
          }
        ]
      }
    ]
  }
}

类型:

type Bookdepartment {
  id:ID
  booksubdepartment: [Booksubdepartment]
}

type Booksubdepartment {
  id:ID
  departmentID: String
  books:[Book]
}

type Book {
  id:ID
  subdepartmentId:String
  bookTitle:String
}

type Query {
  bookdepartments:[Bookdepartment]
}
node.js graphql apollo-server
1个回答
0
投票

您可以按如下方式创建解析器:

const resolvers = {
  Query: {
    bookdepartments: () => bookdepartments
  }
}

但是有必要使用 const 来引用该数据集的一部分:

const bookdepartments = [
  {
    "id": "123",
    "booksubdepartment": [
      {
        "id": "111",
        "departmentID": "123",
        "books": [
          {
            "subdepartmentId":"111",
            "bookTitle": "Book One on sub department 111"
          }, {
            "subdepartmentId":"111",
            "bookTitle": "Book Two on sub department 111"
          }
        ]
      }, {
        "id": "222",
        "books": [
          {
            "subdepartmentId":"222",
            "bookTitle": "Book one on sub department 222"
          }, {
            "subdepartmentId":"222",
            "bookTitle": "Book two on sub department 222"
          }
        ]
      }
    ]
  }, {
    "id": "345",
    "booksubdepartment": [
      {
        "id": "333",
        "departmentID": "345",
        "books": [
          {
            "subdepartmentId":"333",
            "bookTitle": "Book one on sub department 333"
          }, {
            "subdepartmentId":"333",
            "bookTitle": "Book two on sub department 333"
          }
        ]
      }, {
        "id": "444",
        "books": [
          {
            "subdepartmentId":"444",
            "bookTitle": "Book one on sub department 444"
          }, {
            "subdepartmentId":"444",
            "bookTitle": "Book two on sub department 444"
          }
        ]
      }
    ]
  }
]

希望这有帮助!
如果您对此有疑问,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.