【发布时间】:2026-01-06 17:55:02
【问题描述】:
我有一个以下函数,它接收输入 JSON 并使用 "com.eclipsesource" %% "play-json-schema-validator" % "0.6.2" 对照给定的 JSON 架构验证它。在我开始收到有关已弃用库的警告之前,整个设置运行良好。如您所见,我使用Ok(Json.toJson(result))) 将scala.List[BSONDocument] 类型的result 转换为JSON。这是使用import play.modules.reactivemongo.json.BSONFormats._ 库完成的。我真的很喜欢这种转换的简单性,但是,我收到以下警告:
object BSONDocumentFormat in trait BSONFormats is deprecated: 0.11.9
还有,这是我的实际功能:
def getMessage(campaignID: String, revision: Int, transactionID: Int ) =
Action.async { implicit request =>
db.getDocument(campaignID, revision, transactionID)
.map(result =>
Ok(Json.toJson(result)))
.recover {case ex: IOException => InternalServerError("Please install MongoDB")}
}
有没有其他方法可以做到这一点?为什么库开发者会删除这么有用的功能?
【问题讨论】:
-
如果您查看 deprecation message,您会看到所有 JSON 序列化包都已从 Play 插件中移出,以便在 Play 应用程序之外使用。
-
所以我猜你建议我使用的是
import reactivemongo.play.json.BSONFormats._对吗?
标签: scala playframework reactivemongo play-reactivemongo