我正在尝试使用喷涂路由发送json响应 我在调用完整的
后收到此错误Error:(45, 29) type mismatch;
found : _2.Entities.EventsSearchResponse where val _2: eyein.eventful.eventful
required: _3.Entities.EventsSearchResponse where val _3: eyein.eventful.eventful
api.jsonize(value)
^
api.jsonize
只是marshal
在原始api文件中使用它将json打印为字符串,没有任何问题。
我最感兴趣的是错误,显然有一些打字问题,但我不知道从哪里开始
这是路线
val myRoute =
path("event" / IntNumber / IntNumber) {(from,to) =>
get {
respondWithMediaType(`application/json`) {
onSuccess(api.GetEventsByDate(from.toString,to.toString)){ value =>
complete{
api.jsonize(value)
}
}
}
}
}
jsonize signature
def jsonize(eventList : Entities.EventsSearchResponse)
答案 0 :(得分:0)
Scala认为内部类的类型是路径依赖的,并不总是按照您期望的方式推断路径依赖类型。尝试给它一个明确的路径依赖类型:
onSuccess(api.GetEventsByDate(...): Future[api.Entities.EventsSearchResponse]) {
value: api.Entities.EventsSearchResponse => ...
}