restql 提供了比较强大的查询处理。
支持的几种查询模式
- 基本查询,主要是单一映射资源的查询,(from,with,only,header,cache。。。)
- 并行查询,多个资源的同时查询,(对于没有关联的数据处理很不错)
- 链式查询,查询数据有管理,一个输出是另外一个的输入
- 聚合结果查询(使用in ,实际上使用链接查询也可以)
基本使用
- 环境准备
使用docker-compose 准备基础环境
version: '3'
services:
restql-api:
image: b2wdigital/restql-http:latest
ports:
- "9000:9000"
environment:
- MONGO_URL=mongodb://mongodb:27017/restql
restql-manager:
image: b2wdigital/restql-manager:latest
ports:
- "3000:3000"
environment:
- MONGO_URL=mongodb://mongodb:27017/restql
- RESTQL_SERVER_URL=http://restql-api:9000
mongodb:
image: mongo:latest
ports:
- "27017:27017"
- 添加的资源映射
具体使用可以参考官方文档或者 https://www.cnblogs.com/rongfengliang/p/11874448.html
- 基本查询
一般都是查询单一资源并使用过滤以及only 选择查询数据
- 并行查询
就是多个rest 资源的同时查询,并聚合
- 链式查询
一个输出是一个的输入
- in 查询
简单in 查询
一个高级查询(有待仔细研究下)
说明
restql 是很不错,但是还是缺少一个标准规范,同时在语言的支持上并不是特别的多,生态一般,java 语言的实现使用上还是比较方便的,
同时官方也提供了基于注解的开发方式。