Клиент Scala Play WS, выполняющий параллельные вызовы REST динамически - PullRequest
0 голосов
/ 01 июня 2018

В моем приложении Scala Play Framework мне нужно динамически вызывать несколько вызовов REST на основе URL-адресов из Списка.

Я обнаружил следующий код для нескольких вызовов:

val futureResponse = for {
  responseOne <- WS.url(url1).get()
  responseTwo <- WS.url(url1).get()
  responseThree <- WS.url(url1).get()
} yield processCalls(responseOne, responseTwo, responseThree)

Но как мне сделать его динамичным, чтобы URL-адреса выбирались из списка, а ответы также сохранялись в списке для дальнейшей обработки?,

1 Ответ

0 голосов
/ 01 июня 2018

Примерно так:

val urls: Seq[String] = ...

val results: Future[Seq[WSResponse]] = 
    Future.seq(
        urls.map(url => wsClient.url(url).get)
    )
...