我想用第一个 Web 服务的结果调用第二个 Web 服务。
下面是一些突出我意图的代码。
顺便说一句,它在 IntelliJ 中编译得很好(可能是 IDE 中的一个错误)。
def get = {
for {
respA <- WS.url(url1).get
id <- respA.body.split(",").take(2)
respB <- WS.url(url2 + id).get // Here is a compile error
} yield {
getMyObjects(respB.xml)
}
}
- respA = 是一个逗号分隔的列表,其中包含在下一次调用中使用的 id。
- respB = 是我在 yield 方法中解析的 XML 响应
编译错误Play Framework
给了我:
type mismatch;
found : scala.concurrent.Future[Seq[MyObject]]
required: scala.collection.GenTraversableOnce[?]
我发现编译错误很奇怪。
- 怎么可能
Future
存在[Seq[MyObject]]
于那条线上? - 它应该与编译的两行代码没有什么不同吗?