java - 玩! Java 8 的框架支持 可选

标签 java playframework playframework-2.0 java-8

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

GET/books BooksController.getBooks(作者: 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(作者: java.util.Optional[String])

public class BooksController extends Controller {

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

我试过创建自定义 QueryStringBindable ,但这迫使我将 Controller 的参数键入为可绑定(bind)的类型,而不是 Optional。还有其他方法吗?谢谢。

最佳答案

现在是不可能的。有一个 github issueF.Option 替换为 java.util.Optional。它将在 Playframework 2.5.0 中交付。

关于java - 玩! Java 8 的框架支持 可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30901983/

相关文章:

Java Tapestry : Clearing a count value after a t:if test

java - 如何在Keycloak身份验证之前调用javax.servlet.Filter

java - 使用 save() Play Framework JPA 问题

scala - Play Framework : Logging time

java - 无法访问 play 2 框架模板中的 List[ArrayList]

java - 配置数据源并将其注册到 JNDI

java - 在 Oozie 中单独处理行

java - 实现安全的 native Play Framework 2.3.x(Java 风格)身份验证

scala - 如何解析 Scala 中的 future 列表

scala - Slick:通过获取列名查询多个表/数据库