Monday, August 31, 2015

Using SparkJava microframework with Kotlin


Using sparkjava framework with kotlin language.

import com.google.gson.Gson
import spark.Spark
import spark.Spark.get
 
fun main(args: Array<String>) {
 
    val gson = Gson();

    
    // this is folder under src/main/resources  to serve static files.
    Spark.staticFileLocation("/public"); 
 
    get("/hello", { req, res -> "Hello World" }); 
    get("/hello/:name", { req, res -> "Hello " + req.params(":name") }); 
    get("/name/:fname/:lname/json", { req, res -> Name(req.params(":fname"), req.params(":lname")) }, { obj -> gson.toJson(obj) });
 
 
    // lets use function to render json, here 'it' is the implicit parameter as in groovy. 
    val toJson : (Any) -> String = {gson.toJson(it)}
 
    // some user to render as json. 
    val addr = Address("street 1", "NY", "US");
    val user = User(Name("Fazal", "Khan"), "faz@gmail.com", addr)
  
    get("/user/json", { req, res -> user }, toJson); 
 
 
// lets define some data classes.

 
data public class Name(val fname: String, val lname: String)
data public class User(val name: Name, val email: String, val address: Address) 
data public class Address(val street: String, val city: String, val country: String) 
 

No comments:

Post a Comment