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