java - 在 Play Framework URL 中传递 MongoDB ObjectId

标签 java mongodb playframework playframework-2.0 objectid

您好,我正在使用 Java 学习 Play Framework 2,但遇到了问题。我使用 MongoDB,并有一个简单的类 User,其中 ObjectId 作为唯一 ID。

public class User {


    @JsonProperty
    public ObjectId id;

..

在我看来,我想添加一个按钮来删除当前用户,如下所示:

 @form(routes.Application.deleteUser(user.id)) {
       <input type="submit" value="Delete">
 }

在我的路线文件中:

POST    /users/:id/delete               controllers.Application.deleteUser(id: org.bson.types.ObjectId)

但是现在我得到一个错误:

“未找到类型 org.bson.types.ObjectId 的 URL 路径绑定(bind)器。尝试为此类型实现隐式 PathBindable”

我尝试了很多方法,例如,我尝试仅将 ObjectId 值作为字符串传递,但没有任何效果。谁能帮我解决这个问题?

最佳答案

你可以使用 play-salat具有必要的绑定(bind)器,只需将其作为依赖项添加到您的 project/Build.scala 并将其导入到您的路由和模板中:

import sbt._
import Keys._
import PlayProject._

object ApplicationBuild extends Build {

  val appDependencies = Seq(
    "se.radley" %% "play-plugins-salat" % "1.2-SNAPSHOT"
  )

  val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
    resolvers       += "OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/",
    routesImport    += "se.radley.plugin.salat.Binders._",
    templatesImport += "org.bson.types.ObjectId"
  )
}

另请查看此 example application .

关于java - 在 Play Framework URL 中传递 MongoDB ObjectId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14073258/

相关文章:

java - SpringMVC : how to get the value of @RequestMapping in the function

java - Windows 上的 Java 和环境变量问题

java - "No Session found for current thread"更改 session 访问方法后

java - 将ArrayList从android发送到php MySQL

node.js - 环回其中筛选地理附近查询 [错误 : unable to find index for $geoNear query]

时间:2019-03-08 标签:c#mongodb drivergroupby

node.js - 更新 MongoDB 文档(在 NodeJS 中)

java - 替换结果的html

mysql - 如何在 Scala Slick 中使用枚举?

java - 如何在 java 中使用 protobuf 获取和解析序列化字符串?