wwwision/neos-graphql

该包已被弃用,不再维护。作者建议使用 wwwision/cr-graphql 包。

Neos 内容存储库的实验性 GraphQL API

v1.2.0 2021-09-30 09:01 UTC

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。这使得我们可以在不破坏类型的情况下将实现改为异步。但当前类型并不非常实用。
  • 类型定义的一些细节可能需要修订