此处TreeQL是Home | TreeQL
不是treeql - Tree Query Language
许多人将 GraphQL 与 REST 进行比较,得出的结论是两者各有所长。在这篇文章中,我认为您可以通过使用 TreeQL(一种改进的 REST 协议)来两全其美。
GraphQL 的缺点
根据 Stubailo 和 Doerrfeld 的说法,GraphQL 的缺点(与 REST 相比)是:
- 无法使用 HTTP 缓存对其结果进行缓存。
- 它具有有限的端点安全实施。
- 它还没有那么多工具。
幸运的是,最后一点变化很快,因为 GraphQL 的采用率正在上升。
GraphQL 的好处
根据 Yegulalp 和 Eschweiler 的说法,GraphQL 的好处(与 REST 相比)是:
- 它减少了请求的数量,因为可以组合相关资源。
- 它减少了传输大小,因为您可以准确地请求您需要的内容。
- 默认情况下它是自记录的,使用正式的定义。
Sturgeon 还警告我们,GraphQL 具有虚假宣传的好处,例如您“永远不必对任何东西进行版本控制”。
TreeQL,一种改进的 REST 协议
TreeQL 是一种改进的 REST 协议。你也可以说它是一个实用的 GraphQL。它允许请求相关实体,将结果限制为特定记录和列,并具有内置文档。有了这些,它与 REST 相比具有与 GraphQL 相同的优势。TreeQL 相对于 GraphQL 的一些好处是:
- 它使用数据库反射,因此您不需要定义模式。
- 它具有允许您轻松实现安全模型的处理程序。
- 它使用带有 HTTP 动词的 REST,并且与 HTTP 缓存兼容。
- 它记录在 OpenAPI 3 规范(以前称为 Swagger)中。
TreeQL 的另一个好处是它会让大多数人感到熟悉。TreeQL 基本上是一个标准化的 REST API,其中添加了一些特性。
阅读更多:https ://treeql.org/