Next: , Previous: , Up: REST API   [Contents][Index]


Rest server definition for Software Evolution Library

The Rest API for Software Evolution Library is implemented as a web service which may be accessed via HTTP resources. This file serves as an entry point to these definitions, providing a simple way to start up the main REST service.

It attempts to conform to principals described here: Representational State Transfer

2.6.1 Dependencies

The Rest API leverages a number of Common Lisp components, which are open-source and generally available via Quicklisp. These packages support JSON <-> Common Lisp translations, JSON streaming, HTTP web server functions, client HTTP support and RESTful interface utilities.

cl-json

Parse and generate JSON format

st-json

Stream support for JSON format

clack

utility to easily launch web services

drakma

http client utilities for Common Lisp (for calling Rest APIs/testing

hunchentoot

Web server, written in Common Lisp, hosts Rest APIs

snooze

Rest API framework

2.6.2 Running the Rest API Web Service

Starting the server:

    (start-server)

Stopping the server:

    (stop-server)

Restart the server:

    (start-server)            ;; will stop, if running, then start

2.6.3 REST Services

By default, this provides the endpoints defined in sessions, the standard REST API, and asynchronous jobs, plus providing the define-command-endpoint macro. If you would like to create a rest serevr without all of these resources, you should recreate a similar file but omit the imports you wish to avoid using.


Next: , Previous: , Up: REST API   [Contents][Index]