前段时间,我问如何在 Play 2.5.0 Java 中从 Result 中获取 body。
答案基本上是使用play.core.j.JavaResultExtractor
. 我现在正在升级到 2.6,并且JavaResultExtractor
不再存在(或者至少不公开)。
在 Play 2.6 中如何做到这一点?
我确实发现Result.body().consumeData
这似乎可行,但也带有令人担忧的警告:
应谨慎使用此方法,因为如果源表示临时流,则在调用此方法后实体可能无法使用。
我想,由于我在一个动作中执行此操作,我可以调用 consumeData 将所有数据放入一个局部变量中,对其进行处理,然后使用存储的数据返回一个新结果。只有在数据太大而无法放入内存的情况下才会失败,这不是我目前所期望的。