/ /シンボルを解決できませんrespondWithMediaType - Scala / Spray / Json - scala、spray、spray-json

シンボルrespondWithMediaTypeを解決できません - Scala / Spray / Json - scala、spray、spray-json

何らかの理由で、必要なすべてのインポートがあるにもかかわらず、私のコードではこの記号 "respondWithMediaType"を解決できません。私は "スプレーとスカラの両方にかなり慣れていません - それで明らかに何かが足りないのでしょうか?"

 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)
}
}
}
}

}

回答:

回答№1は0

私はあなたがJSONを送り返したいと思うなら、あなたはコンテンツタイプを設定する必要はありません、spray-JSONはあなたのためにそれをする 交換する respondWithMediaType 〜と complete このような方法:

post {
entity(as[Users]) { users: Users =>
complete {
service.saveOrUpdate(users)
}
}
}

そして、あなたがすべてのspray-jsonインポートを得たことを確認してください。 ここに