По какой-то причине мой код не разрешит этот символ «responseWithMediaType», несмотря на наличие всех необходимых импортов. Я довольно новичок и в спрее, и в scala - так, возможно, что-то неясно?Не удается разрешить символ responseWithMediaType - Scala/Spray/Json
import spray.http.MediaTypes._
import spray.json._
import DefaultJsonProtocol._
.....
trait Service extends CassandraSpec with UsersService {
implicit val system: ActorSystem
implicit def executor: ExecutionContextExecutor
implicit val materializer: Materializer
implicit val timeout: Timeout
implicit val jsonFormatUsers = jsonFormat5(Users)
implicit val jsonFormatAllUsers = List(jsonFormat5(Users))
.....
pathPrefix("users") {
(get & path(Segment)) { email =>
respondWithMediaType(MediaTypes.`application/json`) {
service.getByUsersEmail(email)
}
}
get {
// GET /users
path(Rest) {
respondWithMediaType(`application/json`) {
service.getAllUsers()
}
}
} ~
post {
entity(as[Users]) { users: Users =>
respondWithMediaType(`application/json`) {
service.saveOrUpdate(users)
}
}
}
}
}
Но когда я делаю это, я получаю возврат ошибка несоответствия типа, где он ожидает ToResponseMarshallable, фактическое будущее [Option [Users]]. Означает ли это, что он не собирает неявное преобразование или что-то еще? –
Удостоверьтесь, что у вас есть этот импорт «import spray.httpx.SprayJsonSupport._» он предоставляет сериализаторы и десериализаторы для всех примитивов, коллекций .. и удаляет «implicit val jsonFormatAllUsers = List (jsonFormat5 (Users))» – grotrianster
Я сделал оба , все еще не узнает его. К сожалению, он не позволит мне публиковать весь код здесь с тех пор, пока он слишком длинный. Я чувствую себя застрявшим. –