restQL-clojure allows to run restQL queries, making easy to fetch information from multiple services in the most efficient manner
Getting Started
Installation
Add restQL dependency to your project
Lein
[b2wdigital/restql-core "3.4.1"]
 
 NPM
npm i @b2wdigital/restql 
 First query
Clojure
(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" } ) 
 Node
var restql = require('@b2wdigital/restql')
// executeQuery(mappings, query, params, options) => <Promise>
restql
  .executeQuery(
    {user: "http://your.api.url/users/:name"},
    "from user with name = $name",
    { name: "Duke Nukem" })
  .then(response => console.log(response))
  .catch(error => console.log(error)) 
 In the example above restQL will call user API passing "Duke Nukem" in the name param.
Our query language
The clause order matters when making restQL queries. The following is a full reference to the query syntax, available clauses and order.
[ [ use modifier = value ] ]
METHOD resource-name [as some-alias] [in some-resource]
  [ headers HEADERS ]
  [ timeout INTEGER_VALUE ]
  [ with WITH_CLAUSES ]
  [ [only FILTERS] OR [hidden] ]
  [ [ignore-errors] ]
 
 e.g:
from search
    with
        role = "hero"
from hero as heroList
    with
        name = search.results.name
 
 Learn more about restQL query language
Links
- Docs
 - Code API: restQL-clojure code documentation
 - restQL-clojure: If you want to embed restQL directly into your Clojure application,
 - 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
 
Reach the community
- #restql: clojurians restQL Slack channel
 - @restQL: restQL Telegram Group
 
Who's talking about restQL
- infoQ: restQL, a Microservices Query Language, Released on GitHub
 - infoQ: 微服务查询语言restQL已在GitHub上发布
 - OSDN Mag: マイクロサービスクエリ言語「restQL 2.3」公開
 - Build API's w/ GraphQL, RestQL or RESTful?
 
License
Copyright © 2016-2019 B2W Digital
Distributed under the MIT License.