我正在学习spray.io,我遇到了问题。我正在尝试测试几个GET参数的案例类提取。我的代码受到示例from the documentation page的启发:
package com.example
import akka.actor.Actor
import spray.routing._
import spray.http._
import MediaTypes._
class ServiceActor extends Actor
with ServiceHello {
def actorRefFactory = context
def receive = runRoute(testRoute)
trait ServiceHello extends HttpService with Controls {
case class Color(keyword: String, sort_order: Int, sort_key: String)
val route =
path("test") {
parameters('keyword.as[String], 'sort_order.as[Int], 'sort_key.as[String]).as(Color) { color =>
handleTestRoute(color) // route working with the Color instance
}
}
}
这段代码应该没问题,但是当我尝试运行它时,我遇到了以下错误:
无法解析符号(在“as(Color)”之上)
缺少参数类型:颜色(在“{color =>”之上)
我理解这些错误,但我不明白他们为什么来......
我正在运行Scala 2.10.3
我做错了吗?
答案 0 :(得分:0)
这对我有用(scala 2.10.4,喷雾1.3.1):
import akka.actor.Actor
import spray.routing._
import spray.http._
import MediaTypes._
class ServiceActor extends Actor with ServiceHello {
def actorRefFactory = context
def receive = runRoute(testRoute)
}
trait ServiceHello extends HttpService {
case class Color(keyword: String, sort_order: Int, sort_key: String)
val testRoute =
path("test") {
parameters('keyword.as[String], 'sort_order.as[Int], 'sort_key.as[String]).as(Color) { color =>
//handleTestRoute(color) // route working with the Color instance
complete {
<h1>test route</h1>
}
}
}
}
不知道Controls
是什么,所以我只是评论了它。