restQL微服务查询语言

联合创作 · 2023-09-19 05:34

微服务查询语言 restQL 旨在简化客户端访问 RESTful 微服务的常用场景,包括并行调用和链式调用。

由拉丁美洲最大的电子商务公司 B2W 开发的 restQL,是为了避免 Falcor 和 GraphQL 这两个更为人熟知的数据查询和管理框架的一些限制而诞生的。

与其他查询语言类似,restQL 语句描述了要获取的资源,并用参数进行过滤。比如:

  from hero             
            with  
        name = "Restman"

默认情况下,查询是并行执行的,无须任何特殊语法。对于更复杂也更常见的场景,比如链式调用或者多路复用调用(如下例所示)也非常清晰直观。

  from hero
            with
                name = "Restman"
        from sidekick
            with
                hero = hero.id

对 restQL 查询的解析和响应由 restQL 服务端处理。restQL 服务端是用 Clojure 实现的,它充当着提交 restQL 查询的客户端和后端 API 之间的桥梁。所有的配置信息都是存在服务端的,以匹配资源名称和相应的调用端点(endpoint)。由于 restQL 服务端开放了标准的 REST 调用端点,所以不需要专门处理的客户端。

浏览 13
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报