我正在将play 2.7.x与 Java 一起使用,并且试图从routes
配置文件中的网址解析mongodb的ObjectId,如下所示:
GET /tasks/:id/view controllers.TaskController.viewTask(id: org.bson.types.ObjectId)
除了验证URL中的ObjectId之外,我真的不需要任何mongodb功能。
我的build.sbt
文件是:
name := """bla-bla-core"""
organization := "com.bla"
maintainer := "bla@bla.com"
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.12.8"
libraryDependencies ++= Seq(
guice,
ws,
ehcache,
filters,
"org.mongodb" % "mongo-java-driver" % "3.0.1",
)
我收到以下编译错误:
Compilation error[No URL path binder found for type org.bson.types.ObjectId. Try to implement an implicit PathBindable for this type.]
有人在Playframework中从路由设置了mongodb的objectId解析吗?我以为这是一个很普遍的问题,我会很容易找到解决方案,但是我没有尝试过:/
所有解决方案都在讨论某个名为"se.radley" %% "play-plugins-salat"
的软件包,该软件包最后维护于2016年:D
答案 0 :(得分:0)
尝试将其作为String并转换为控制器中的ObjectId。