我有一个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
。还有其他方法吗?谢谢。