Skip to content

Instantly share code, notes, and snippets.

@jmcardon
Created March 9, 2017 03:37
Show Gist options
  • Save jmcardon/14f2e7ae7e358a5ee8c36b96c1e9686c to your computer and use it in GitHub Desktop.
Save jmcardon/14f2e7ae7e358a5ee8c36b96c1e9686c to your computer and use it in GitHub Desktop.
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import akka.http.scaladsl.server.{ HttpApp, Route }
import spray.json.DefaultJsonProtocol
case class SomeFooData(foo: String)
object SomeFooDataSupport extends DefaultJsonProtocol with SprayJsonSupport {
implicit val PortofolioFormats = jsonFormat1(SomeFooData)
}
object RouteExample extends HttpApp with App {
import SomeFooDataSupport._
def route: Route = path("kappa"){
(post & entity(as[SomeFooData])){
fooData =>
complete(s"The cookie monster did nothing wrong WOOP! ${fooData.foo.toLowerCase()}")
}
}
pathPrefix("someRoute") {
path("hello") {
(post & entity(as[SomeFooData])) {
fooData =>
complete(s"hey! ${fooData.foo}")
}
} ~ path("hi") {
(post & entity(as[SomeFooData])) {
fooData =>
complete(s"Ho! ${fooData.foo.toUpperCase()}")
}
}
}
startServer("localhost", 8080)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment