2015-03-02 38 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个领域展示它很乏味;)。