TreeQL is an improved REST protocol. You could also say that it is a pragmatic GraphQL. It allows to request related entities, limit results to specific records and columns and has built-in documentation. With these it has the same benefits over REST that GraphQL has. Some of the benefits TreeQL has over GraphQL are:
- It uses database reflection, so you do not need to define a schema.
- It uses REST with HTTP verbs and is compatible with HTTP caches.
- It is documented in the OpenAPI 3 specification (formerly Swagger).
- It has handlers that allow you to easily implement a security model.
Another benefit of TreeQL is that it will feel familiar for most people. TreeQL is basically a standardized REST API with some features added to it.