Play!框架对Java 8的Optional类型的支持

3
我有一个Play! 2路由文件和控制器,看起来像这样: GET /books BooksController.getBooks(author: play.libs.F.Option[String]) 其中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个回答

3

目前这是不可能的。有一个Github问题要将F.Option替换为java.util.Optional。它将在Playframework 2.5.0中发布。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接