2015-03-02 42 views
0

好吧,我查看了關於json transformers的playframework文檔,它運行良好,直到我的案例類的參數超過22。當案例分類的參數大於22時,出現一個錯誤,告訴我案例分類的未找到函數已經發生如何格式化參數大於22的案例類

+0

你有沒有看到http://www.scala-lang.org/old/node/7910 – silentprogrammer 2015-03-02 10:20:51

+1

22是scala中的魔法屏障,儘量避免使用更多。但是,如果你必須,你應該將幾個參數分組到另一個對象中,並將其嵌入到原始參數中。 – 2015-03-02 10:57:30

+0

看看這個線程是否可以提供任何幫助:http://stackoverflow.com/questions/23571677/22-fields-limit-in-scala-2-11-play-framework-2-3-case-classes-and -functions/23588132 – lambdista 2015-03-02 14:41:21

回答

0

首先,如果您有一個具有22個字段的案例類,它是不正確的錯誤。但是,如果你沒有選擇,重構你的代碼,你可以做到以下幾點:

例如這裏是我的情況下類:

case class MyClass(arg1: String, arg2: String, arg3: String) 

我可以用兩個字段把上面的類,如下所示:

case class Helper(arg1: String, arg2: String) 
case class MyClass(arg12: Helper, arg3: String) 

因此,通過找出案例類中的前兩個參數,MyClass將有兩個字段而不是三個。當然,我只是通過三個領域來展示它,因爲用22個領域展示它很乏味;)。