2014-04-03 23 views
1

我使用其中的API是建立在鏈模式,就像Java庫:怎樣的參數集合傳遞給鏈模式API在斯卡拉

(new SomeClass).method1("data1").method1("data2").method2("data6") 

我的數據是列表:

val list = List("data1","data2","data3","data4") 

我想將它們作爲每個method1調用的參數。我目前的版本是:

list.foldLeft(new SomeClass)((a,b)=>a.method1(b)) 

是否有更合適或習慣性的方式來做到這一點?

+0

將它轉換爲java集合,並以與你會在Java? –

+0

列表可以有不同的大小。只有傳遞參數的方法是逐個調用所有參數的method1。 – codez

+0

如果'method1'返回它被調用的SomeClass,你可以做'list.foreach(a.method1(_)) – wingedsubmariner

回答

0

你可能真的想看看在Spring GR8上開發和呈現的'api chaining'規範。它基於將api層從模型(在傳統MVC中)抽象爲前端控制器(處理請求/響應)的api對象的概念,該對象可以與URI關聯,但也可以與其他api關聯對象在前端控制器。因此,您可以通過url編碼鏈接api調用。

更多信息可以在在線視頻和文檔中找到:

API鏈接(第一部分) - http://youtu.be/ceg0Y3bDh8k

API鏈接(第二部分) - http://youtu.be/O4qNQUhxcRg

https://github.com/orubel/grails-api-toolkit/wiki/Api-Object-(2.0-release)

https://github.com/orubel/grails-api-toolkit/wiki/API-Chaining