Module Overview
GroovyRestlet is a simple DSL for constructing Restlet application in a simple, shortcuting syntax.
Download
Distributions
GroovyRestlet is distributed as a single jar.
Current release
GroovyRestlet 0.3-SNAPSHOT, donwload here
Changes
- Upgrade to Restlet 1.1 M3
- Upgrade to Spring 2.5.2
- directory constructor now only accept root attribute as valid URI.
- Bug fixes
Documentation
Quick start
First, create an instance of GroovyRestlet first.
GroovyRestlet gr = new GroovyRestlet()
|
If you want Spring support, provide an instance of ApplicationContext as the constructor parameter. |
GroovyRestlet gr = new GroovyRestlet(appCtx);
Then, prepare your Restlet building script using simple GroovyRestlet DSL syntax.
Calling GroovyRestlet.build(URI) then done.
Check GroovyRestlet User Guide for detail user information.
Examples
Here is one GroovyRestlet DSL example, inspired from Restlet tutorial 11.
builder.component{
current.servers.add(protocol.HTTP, 8182)
application(uri:""){
router{
def guard = guard(uri:"/docs", scheme:challengeScheme.HTTP_BASIC,
realm:"Restlet Tutorials")
guard.secrets.put("scott", "tiger".toCharArray())
guard.next = directory(root:"", autoAttach:false)
restlet(uri:"/users/{user}", handle:{req,resp->
resp.setEntity("Account of user \"${req.attributes.get('user')}\"",
mediaType.TEXT_PLAIN)
})
restlet(uri:"/users/{user}/orders", handle:{req, resp->
resp.setEntity("Orders or user \"${req.attributes.get('user')}\"",
mediaType.TEXT_PLAIN)
})
restlet(uri:"/users/{user}/orders/{order}", handle:{req, resp->
def attrs = req.attributes
def message = "Order \"${attrs.get('order')}\" for User \"${attrs.get('user')}\""
resp.setEntity(message, mediaType.TEXT_PLAIN)
})
}
}
}.start()
For more examples:








