我一直在研究 GraphQL 作为我的一些 REST API 的替代品,虽然我认为我已经把自己的头脑围绕在基础知识上,并且就像我目前看到的大部分内容一样,但似乎缺少一个重要的特性。
假设我有一个这样的项目集合:
{
"id": "aaa",
"name": "Item 1",
...
}
应用程序需要所有这些对象的映射,由 ID 索引,如下所示:
{
"allItems": {
"aaa": {
"name": "Item 1",
...
},
"aab": {
"name": "Item 2",
...
}
}
}
我曾经编写过的每个 API 都能够以这样的格式返回结果,但我正在努力寻找一种使用 GraphQL 的方法。我一直在运行issue 101,但这更多地涉及未知模式。就我而言,我确切地知道所有字段是什么;这纯粹是关于输出格式。我知道我可以简单地返回一个数组中的所有项目并在客户端重新格式化它,但这似乎有点过头了,因为过去从未需要它,并且会让 GraphQL 感觉像是倒退了一步。我不确定我想要做的事情是否不可能,或者我只是使用了所有错误的术语。我应该继续挖掘,还是 GraphQL 不适合我的需求?如果这是可能的,那么检索这样的数据的查询会是什么样子?
我目前正在服务器上使用graphql-php,但我对更高级别的概念响应持开放态度。