added recipe route
This commit is contained in:
parent
ab98d24050
commit
968aa5fab0
40
src/main/kotlin/com/wyattjmiller/routes/RecipeRoute.kt
Normal file
40
src/main/kotlin/com/wyattjmiller/routes/RecipeRoute.kt
Normal file
@ -0,0 +1,40 @@
|
||||
package com.wyattjmiller.routes
|
||||
|
||||
import com.wyattjmiller.repositories.RecipeDao
|
||||
import io.ktor.http.*
|
||||
import io.ktor.server.application.*
|
||||
import io.ktor.server.response.*
|
||||
import io.ktor.server.routing.*
|
||||
|
||||
class RecipeRoute {
|
||||
companion object {
|
||||
private val rec = RecipeDao()
|
||||
|
||||
private fun Route.getAllRecipes() {
|
||||
get("/recipe") {
|
||||
call.respond(rec.getAllRecipies())
|
||||
}
|
||||
}
|
||||
|
||||
private fun Route.getRecipe() {
|
||||
get("/recipe/{id?}") {
|
||||
val id = call.parameters["id"]?.toIntOrNull() ?: return@get call.respond(
|
||||
HttpStatusCode.BadRequest, "Missing recipe identifier :("
|
||||
)
|
||||
|
||||
val res = rec.getRecipe(id) ?: return@get call.respond(
|
||||
HttpStatusCode.NotFound, "No recipe found :("
|
||||
)
|
||||
|
||||
call.respond(res)
|
||||
}
|
||||
}
|
||||
|
||||
fun Application.recipeRoutes() {
|
||||
routing {
|
||||
getAllRecipes()
|
||||
getRecipe()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user