import org.mbte.gretty.httpserver.* @GrabResolver(name='gretty', root='http://groovypp.artifactoryonline.com/groovypp/libs-releases-local') @Grab('org.mbte.groovypp:gretty:0.4.279') GrettyServer server = [] server.groovy = [ localAddress: new InetSocketAddress("localhost", 8080), defaultHandler: { response.redirect "/" }, "/:name": { get { response.text = "Hello ${request.parameters['name']}" } } ] server.start()What this program does -
I created a server listening on port 8080, then set up a simple root endpoint containing the parameter name. Any request to some other endpoint will be routed back to / via the defaultHandler. The handler basically sends the requesting client an HTTP 301 "moved permanently" code, with the location of /. All requests will receive a response (with the content-type set to text/plain) containing the string "Hello" along with the value of any parameter passed; for instance, /Andy would yield "Hello Andy."
required librabies -
Groovy 1.8
gretty 0.4.279 and its dependent librabies downloaded by Grape
Execute -
groovy server.groovy
Making content type text/html -
"/:name": { get { response.html = "Hello ${request.parameters['name']}" } }Using a template -
<html> <head> <title>Hello!</title> </head> <body> <p>${message}</p> </body> </html>Using the template in response -
"/:name" { get { response.html = template("index.gpptl", [message: "Hello ${request.parameters['name']}"]) } }Accessing Mongo DB- use Morphia
@GrabResolver(name='morphia', root='http://morphia.googlecode.com/svn/mavenrepo/') @Grab(group='com.google.code.morphia', artifactId='morphia', module="morphia", version='0.99')
Anyone's guess that this is a pure restful service - So this brings us to the question on when to use a restful service vs a soap based service. A quick read REST vs SOAP service
Also Read
An actor framework for Java concurrency
Instrumentation - Querying the memory usage of a Java object
10 things you didn't know about java performance monitoring
The Clean Coder
No comments:
Post a Comment