玩! Java 8的框架支持可选

时间:2015-06-17 20:41:02

标签: java playframework playframework-2.0 java-8

我有一个游戏! 2路由文件和控制器看起来像这样:

GET /books BooksController.getBooks(author: play.libs.F.Option[String])

public class BooksController extends Controller {

  public static Result getBooks(play.libs.F.Option<String> author) {
    ...
  }    
}

我想重构它以使用Java 8的Optional,但这会导致编译错误:

GET /books BooksController.getBooks(author: java.util.Optional[String])

public class BooksController extends Controller {

  public static Result getBooks(java.util.Optional<String> author) {
    ...
  }    
}

我尝试创建自定义QueryStringBindable,但这迫使我将控制器的参数键入为可绑定的类型,而不是Optional。这样做的其他任何方式?感谢。

1 个答案:

答案 0 :(得分:3)

现在不可能。有一个github issue可以将F.Option替换为java.util.Optional。它将在Playframework 2.5.0中发送。