wwwision / neos-graphql
v1.2.0
2021-09-30 09:01 UTC
Requires
- neos/neos: ^4.2 || ^5.0 || ^5.1 || ^7.0
- wwwision/graphql: ^4.0
This package is auto-updated.
Last update: 2021-09-30 09:53:12 UTC
README
在 Neos 内容存储库之上实现的实验性 GraphQL API
背景
本包仅包含一组 GraphQL 类型定义,封装了 Neos 内容存储库的公共 API。它依赖于 Wwwision.GraphQL 包 来提供 API 端点和渲染 GraphiQL IDE。
安装
在现有的 Neos 实例中,使用 composer 安装该包
composer require wwwision/neos-graphql
通过导航到 /neos/graphql
来测试 GraphQL Playground 是否工作。你应该会被重定向到 Neos 登录表单,然后返回到 GraphiQL 接口。
使用
所有类型、查询和突变都有文档记录,并且与 PHP API 保持同步,因此如果你熟悉 GraphQL 和/或 GraphQL Playground,则应该很容易理解。
以下是该包在实际操作中的几个随机快照
一个简单的查询,用于获取包含其子页面的实时工作区中的节点
显示给定节点的其他维度
将节点移动到另一个节点,并发布工作区
(注意:这将把移动的节点复制到 "user-admin" 工作区,然后可以发布)
免责声明
最初创建此包是为了评估使用 GraphQL 驱动 Neos UI 的用法。我们目前的观点是:对于这种非常情况(或者如果真的需要此 API 的所有底层功能)这种方法可能是一种可行的途径。对于为未知客户提供更高级或公开服务,可能存在更好的方法,包括古老的 REST API(顺便说一下:GraphQL 将自己定位为 REST 的 替代品,而不是 替代品!)。
尽管此包主要封装了现有的 PHP API,但它仍然被视为 beta 版,主要是因为一些可能会更改的部分
- 包密钥/命名空间 - 我对当前名称不满意。但如果我们用它来为 Neos 后端使用,它应该会被移动到 neos 供应商命名空间。
- 变异返回类型 - 当前它们返回一个包含一个成功标志的
MutationResult
。这使得我们可以在不破坏类型的情况下将实现改为异步。但当前类型并不非常实用。 - 类型定义的一些细节可能需要修订