api-platform / api-platform/core

[GraphQL] Batch requests in Apollo format

未关闭
#3,280 4 条评论 6 个 reaction 已指派 0 人 在 GitHub 查看
GraphQL
主要语言
PHP
星标
2.6k
派生
980
平均合并
2 天 5 小时
30 天内合并 PR
48

描述

**Description**
This Apollo extension allow us to send multiple request at the same time:
https://www.apollographql.com/docs/link/links/batch-http/
It will be a good feature to have since we don't support sub class mutation( because of[ Input union](https://github.com/graphql/graphql-spec/blob/master/rfcs/InputUnion.md) spec) and it force client to send several requests for one action.I think this plugin solve some part of performance issue.
Here is Apollo client Article:
https://blog.apollographql.com/query-batching-in-apollo-63acfd859862

This plugin changes the requests to this format:
```
[
{
query: < query 0 >,
variables: < variables for query 0 >,
},
{
query: < query 1 >,
variables: < variables for query 1 >,
},
{
query: < query n >
variables: < variables for query n >,
}
]
```

I think we have two option to implement this part:
* Using [`StandardServer`](https://webonyx.github.io/graphql-php/exeuting-queries/#using-server)
This is good but we need to rewrite request process and remove the current GraphQl executor and replace it with `StandardServer`. Because `StandardServer` don't support the file upload we need to process the requests just like before.

* Calling executor several times.
This is the easiest option for implementation.

I wanted to create a pull request for this, I thought its better to talk about it first.

What do you think?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。