-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathPersonRest.kt
25 lines (22 loc) · 967 Bytes
/
PersonRest.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package example.crudflow
import eu.vaadinonkotlin.rest.*
import example.crudflow.person.Person
import io.javalin.Javalin
import io.javalin.http.servlet.JavalinServlet
import jakarta.servlet.annotation.WebServlet
import jakarta.servlet.http.HttpServlet
import jakarta.servlet.http.HttpServletRequest
import jakarta.servlet.http.HttpServletResponse
/**
* Provides access to person list. To test, just run `curl http://localhost:8080/rest/person`
*/
@WebServlet(urlPatterns = ["/rest/*"], name = "JavalinRestServlet", asyncSupported = false)
class JavalinRestServlet : HttpServlet() {
val javalin: JavalinServlet = Javalin.createStandalone { it.gsonMapper(VokRest.gson) } .apply {
get("/rest/person/helloworld") { ctx -> ctx.result("Hello World") }
crud2("/rest/person", Person.getCrudHandler(true))
}.javalinServlet()
override fun service(req: HttpServletRequest, resp: HttpServletResponse) {
javalin.service(req, resp)
}
}