Microservice query language
Clone or download
lucasbarros Merge pull request #28 from MachadoLhes/issue27
fix(log/warn) verifying if result is a list before throwing the warning
Latest commit 2ea6caf Dec 12, 2018


Build Status codecov.io Dependencies Status


restQL-clojure allows you to run restQL queries directly from JVM applications, making easy to fetch information from multiple services in the most efficient manner. To query using HTTP calls from any client check restQL-http:

from search
        role = "hero"

from hero as heroList
        name = search.results.name


  • @restQL: restQL Telegram Group
  • @restQLBR: Brazilian restQL Telegram Group
  • restql.b2w.io: Project home page,
  • game.b2w.io: A game developed to teach the basics of restQL language,
  • restQL-http: The main restQL repo. It spin up a restQL-http that will listen for queries. Can be used by any language/project.
  • restQL-java: If you want to embed restQL directly into your Java application,
  • restQL-manager: To manage saved queries and resources endpoints. restQL-manager requires a MongoDB instance.
  • Tackling microservice query complexity: Project motivation and history
  • Wiki: Project documentation.

Who're talking about restQL

Getting Started


Add restQL dependency to your project


[b2wdigital/restql-core "2.4.0"]

First query

(require '[restql.core.api.restql :as restql])
(restql/execute-query :mappings { :user "http://your.api.url/users/:name" } :query "from user with name = $name" :params { :name "Duke Nukem" } )

In the example above restQL will call user API passing "Duke Nukem" in the name param.

Building From Source Code

As prerequisites to build restQL from source we have:

  • Java 8
  • Leiningen 2.x

Just clone this repo and run "lein jar".

Help and community

If you need help you can reach the community on Telegram


Copyright © 2016 B2W Digital

Distributed under the MIT License.