Просто попробовал спрей-json, и, похоже, у него возникли проблемы с поиском моих JsonProtocols, которые я настроил. У меня есть следующие зависимости:
"io.spray" % "spray-servlet" % "1.2-M8",
"io.spray" % "spray-routing" % "1.2-M8",
"io.spray" % "spray-testkit" % "1.2-M8",
"io.spray" % "spray-json_2.10" % "1.2.5"
И следующий код:
Content.scala
import spray.json.DefaultJsonProtocol
case class Content(id:String, name: String, contentType: String, duration: Int)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit val contentFormat = jsonFormat4(Content)
}
Я получаю сообщение об ошибке в строке, где я возвращаю Content
в блоке complete {}
, ошибка выглядит следующим образом, а код ниже:
Описание Тип расположения пути к ресурсу не удалось найти неявное значение для параметра доказательства типа spray.httpx.marshalling.Marshaller[Content] MyService.scala строка 32 Проблема Scala
import akka.actor.Actor
import spray.routing._
import spray.http._
import MediaTypes._
import spray.json.DefaultJsonProtocol
import Content
import MyJsonProtocol._
class MyServiceActor extends Actor with MyService{
def actorRefFactory = context
def receive = runRoute(myRoute)
}
trait MyService extends HttpService {
val myRoute =
path("") {
get {
respondWithMediaType(`application/json`) { // XML is marshalled to `text/xml` by default, so we simply override here
complete {
new Content("1234", "Some Content", "YT", 60)
}
}
}
}
}
Может ли кто-нибудь увидеть что-то не так? Это буквально код шаблона спрея с добавлением материала спрей-json.