最初の Web サービスの結果を使用して、2 番目の 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]]
存在することができますか? - コンパイルする 2 行目と変わらないはずですよね?