1
我想創建一個LinkedinApi
類,其中包含對Linkedin服務器執行Web服務請求的函數。這些功能需要在Play應用代碼中的任何地方訪問。我過去編寫這樣的API類最簡單的方法是讓它們聲明爲object
。然後LinkedinApi.myPublicFunction()
可從任何地方。如何創建在Play 2.4中執行Web服務調用的應用程序範圍的Scala函數?
問題是,我不明白我怎麼可以將我的LinkedinApi
類聲明爲object
。它會使用Play 2.4的網絡服務,這是通過將@Inject()(ws: WSClient)
添加到類聲明中完成的。像object LinkedinApi @Inject()(ws: WSClient) extends Controller
。
問題是上面的代碼不能編譯。看來@Inject
只能與class
聲明一起使用,而不能與object
一起使用。
那麼如何創建執行Web服務調用的應用程序範圍的API函數?
你爲什麼不創建LinkedinApi作爲一個單獨的服務,並注入它在哪裏你想要? – Nyavro
@nyavro這很可能是解決方案。我從來沒有使用過單身,或者爲此注入過單身。你想詳細說明如何在答案中做到這一點? – Blackbird