0

In my scala play framework application, I have to dynamically call multiple REST calls based on urls from a List.

I came across following code for multiple calls:

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

But how can I make it dynamic so that urls are picked from the List and responses are also stored in a list for further processing.

Anurag Sharma
  • 2,409
  • 2
  • 16
  • 34

1 Answers1

1

Something like this:

val urls: Seq[String] = ...

val results: Future[Seq[WSResponse]] = 
    Future.seq(
        urls.map(url => wsClient.url(url).get)
    )
Simon
  • 6,293
  • 2
  • 28
  • 34