Я играю с Scala Spray. Мне нравится работать с ним, но я не могу разобраться в одном.Получение неявного значения val из объекта-компаньона
Этот код компилируется нормально:
import spray.http.MediaTypes._
import spray.routing.HttpService
import spray.json.{DefaultJsonProtocol, _}
import spray.httpx.SprayJsonSupport._
trait StatusService extends HttpService {
case class StatusResponse(status: String)
object StatusResponseProtocol extends DefaultJsonProtocol {
implicit val statusResponse = jsonFormat1(StatusResponse)
}
import StatusResponseProtocol._
val statusRoute =
path("status") {
get {
respondWithMediaType(`application/json`) {
complete {
StatusResponse("OK")
}
}
}
}
}
Но он не компилируется (не может найти JSon сериалайзер), когда я двигаюсь класс & протокол случая к объекту компаньона.
trait StatusService extends HttpService {
import StatusResponseProtocol._
val statusRoute =
path("status") {
get {
respondWithMediaType(`application/json`) {
complete {
StatusResponse("OK")
}
}
}
}
}
object StatusService {
case class StatusResponse(status: String)
object StatusResponseProtocol extends DefaultJsonProtocol {
implicit val statusResponse = jsonFormat1(StatusResponse)
}
}
Я не понимаю, почему ..
Это ничего не меняет для меня, к сожалению. – cyrillk
можете ли вы добавить весь вывод из компилятора? – Ashalynd