akka http解组可用于字符串,但不';我不能和实体一起工作

akka http解组可用于字符串,但不';我不能和实体一起工作,akka,akka-http,spray-json,Akka,Akka Http,Spray Json,我让一个参与者接收两种类型的响应,都是json格式的:Token和ShowInfoResponse case class Token(token: String) case class GetShowInfoResponse(data: List[TvdbEpisode]) case class TvdbEpisode(episodeName: String, airedSeason: Int, airedEpisodeNumber: Int, firstAired: String) akka

我让一个参与者接收两种类型的响应,都是json格式的:
Token
ShowInfoResponse

case class Token(token: String)
case class GetShowInfoResponse(data: List[TvdbEpisode])
case class TvdbEpisode(episodeName: String, airedSeason: Int, airedEpisodeNumber: Int, firstAired: String)
akka http在使用
令牌
解组实体方面没有问题,但由于某些原因,它不会使用
ShowInfoResponse
解组实体,即使在提取实体的主体时它工作正常:

def receive = {
  case HttpResponse(StatusCodes.OK, _, entity, _) =>
    entity.dataBytes.runFold(ByteString(""))(_ ++ _).foreach { body =>
      Unmarshal(body.utf8String).to[ShowInfoResponse] pipeTo self
      Unmarshal(body.utf8String).to[Token] pipeTo self
    }
    Unmarshal(entity).to[ShowInfoResponse] pipeTo self
    Unmarshal(entity).to[Token] pipeTo self
  case Token(_) => 
    println("Received token")
  case ShowInfoResponse(_) =>
    println("Received show info")
结果(通知缺少第二个“收到的节目信息”):

为什么会这样

Received token
Received token
Received show info