3

注册.scala

package model

import akka.actor.Actor
import spray.json._
import DefaultJsonProtocol._

case class Registration(
  system: String, 
  identity: String)

object RegistrationProtocol extends DefaultJsonProtocol {
  implicit val adsRegistrationFormat = jsonFormat2(Registration)
}

注册服务.scala

import akka.actor.{Props, ActorLogging, Actor}
import model.Registration

object RegistrationsService {
  case class PostRegistrationMessage(registration: Registration)

  def props(property: String) = Props(classOf[RegistrationsService], property)
}

class RegistrationsService(property: String) extends Actor with ActorLogging {
  import RegistrationsService._

  def receive = {
    case PostRegistrationMessage(registration) => {
      import model.RegistrationProtocol._

      val json = registration.toJson

    }
  }
}

谁能帮我理解为什么编译错误“value toJson is not a member of model.Registration”失败以及如何解决它。如果在上面代码的最后一行失败,即“ val json = registration.toJson

4

1 回答 1

5

您还需要在RegistrationService.scala中导入spray提供的隐式操作

  import model.RegistrationProtocol._
  import spray.json._
于 2015-01-05T22:06:47.500 回答