如何从Playframework路由中的url解析ObjectId类型

问题描述 投票:0回答:1

我正在使用Java 2.7.x和我试图从routes配置文件中的url解析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 := "[email protected]"

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.]

有没有人在Play Framework中设置mongodb objectId解析之前的路由?我认为这是一个非常普遍的问题,我会轻易找到解决方案,但我尝试的任何工作都没有:/

所有的解决方案都在谈论一些名为"se.radley" %% "play-plugins-salat"的包,该包最后一次维持在2016年:D

java mongodb playframework
1个回答
0
投票

尝试将其作为String并转换为控制器中的ObjectId。

© www.soinside.com 2019 - 2024. All rights reserved.