【发布时间】:2021-10-17 10:22:54
【问题描述】:
我正在尝试 Scala 和 Play 框架,并且拥有 10 多年的 Java/Spring 经验
下面是我正在尝试的源代码
路由文件
GET /stock controllers.HomeController.saveStock
示例模型对象
import play.api.libs.json._
case class Stock(symbol: String = "", price: Double = 0d)
object Stock {
implicit def stockReads = Json.reads[Stock]
implicit def stockWrites = Json.writes[Stock]
implicit def stockFormat = Json.format[Stock]
}
样品控制器
import models.Stock
import javax.inject._
import play.api.mvc._
import play.api.libs.json._
@Singleton
class HomeController @Inject()(cc: ControllerComponents) extends AbstractController(cc: ControllerComponents) {
def index() = Action { implicit request: Request[AnyContent] =>
Ok(views.html.index())
}
def saveStock = Action{ implicit request: Request[AnyContent] =>
var stocks = List(Stock())
println(stocks)
Ok(Json.toJson(Stock)).as("application/json")
//Ok
}
}
build.sbt
scalaVersion := "2.13.6"
libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "5.0.0" % Test
libraryDependencies += "com.typesafe.play" %% "play-server" % "2.8.8"
libraryDependencies += "com.typesafe.play" %% "play-slick" % "5.0.0"
libraryDependencies += "com.github.tminglei" %% "slick-pg" % "0.19.7"
libraryDependencies += "ai.x" %% "play-json-extensions" % "0.42.0"
错误 - http://localhost:9000/ 找不到类型 models.Stock.type 的 Json 序列化程序。尝试为此类型实现隐式写入或格式。
【问题讨论】:
-
您是否尝试过按照建议进行操作?
标签: scala playframework sbt