como injetar dependências em um serviço com o MacWire (play framework)

Eu tenho uma classe de serviço, e o serviço tem um métodogetSomethingFromApi , agora, quero ter a instância play Configuration para poder extrair coisas do application.conf e um WSClient play para poder executar chamadas http.

é assim que eu quero que meu serviço seja:

class MyApiService {

  def getSomethingFromApi(whichApi: String): Future[ApiRes] = {
    wsClient.url(configuration.getString(whichApi)).withHttpHeaders(("Content-Type", "application/json")).get.map { res =>
      response.status match {
        case Status.OK => // do something
        case _ => throw new Exception
      }
    }
  }

}

e este é o ServicesModule que está conectando meus serviços:

import com.softwaremill.macwire._

trait ServicesModule {

  lazy val myService: MyApiService = wire[MyApiService]

}

minha pergunta agora é qual é a maneira correta de usar as instâncias de configuração e WSClient do play play. Porque atualmente eu preciso dessas instâncias no meu serviço, mas não as tenho, como devo fazer isso da maneira certa? obrigado

questionAnswers(2)

yourAnswerToTheQuestion