[BAEL-1753] added ToDo application controllers
This commit is contained in:
parent
423ccc6a83
commit
d834de3f23
@ -5,7 +5,7 @@ version '1.0-SNAPSHOT'
|
|||||||
|
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.2.40'
|
ext.kotlin_version = '1.2.41'
|
||||||
ext.ktor_version = '0.9.2'
|
ext.ktor_version = '0.9.2'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
@ -1,26 +1,26 @@
|
|||||||
@file:JvmName("APIServer")
|
@file:JvmName("APIServer")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.application.install
|
import io.ktor.application.install
|
||||||
import io.ktor.features.CallLogging
|
import io.ktor.features.CallLogging
|
||||||
import io.ktor.features.ContentNegotiation
|
import io.ktor.features.ContentNegotiation
|
||||||
import io.ktor.features.DefaultHeaders
|
import io.ktor.features.DefaultHeaders
|
||||||
import io.ktor.gson.gson
|
import io.ktor.gson.gson
|
||||||
import io.ktor.http.ContentType
|
|
||||||
import io.ktor.request.path
|
import io.ktor.request.path
|
||||||
|
import io.ktor.request.receive
|
||||||
import io.ktor.response.respond
|
import io.ktor.response.respond
|
||||||
import io.ktor.response.respondText
|
import io.ktor.routing.*
|
||||||
import io.ktor.routing.get
|
|
||||||
import io.ktor.routing.routing
|
|
||||||
import io.ktor.server.engine.embeddedServer
|
import io.ktor.server.engine.embeddedServer
|
||||||
import io.ktor.server.netty.Netty
|
import io.ktor.server.netty.Netty
|
||||||
import org.slf4j.event.Level
|
import org.slf4j.event.Level
|
||||||
|
|
||||||
data class Author(val name: String, val website: String)
|
data class Author(val name: String, val website: String)
|
||||||
|
data class ToDo(var id: Int, val name: String, val description: String, val completed: Boolean)
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
|
|
||||||
|
val toDoList = ArrayList<ToDo>();
|
||||||
val jsonResponse = """{
|
val jsonResponse = """{
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"task": "Pay waterbill",
|
"task": "Pay waterbill",
|
||||||
@ -42,15 +42,31 @@ fun main(args: Array<String>) {
|
|||||||
setPrettyPrinting()
|
setPrettyPrinting()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
routing {
|
routing() {
|
||||||
get("/todo") {
|
route("/todo") {
|
||||||
call.respondText(jsonResponse, ContentType.Application.Json)
|
post {
|
||||||
}
|
var toDo = call.receive<ToDo>();
|
||||||
get("/author") {
|
toDo.id = toDoList.size;
|
||||||
val author = Author("baeldung", "baeldung.com")
|
toDoList.add(toDo);
|
||||||
call.respond(author)
|
call.respond("Added")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
delete("/{id}") {
|
||||||
|
call.respond(toDoList.removeAt(call.parameters["id"]!!.toInt()));
|
||||||
|
}
|
||||||
|
get("/{id}") {
|
||||||
|
|
||||||
|
call.respond(toDoList[call.parameters["id"]!!.toInt()]);
|
||||||
|
}
|
||||||
|
get {
|
||||||
|
call.respond(toDoList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
get("/author"){
|
||||||
|
call.respond(Author("Baeldung","baeldung.com"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}.start(wait = true)
|
}.start(wait = true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user