Scala Controller调用Dao方法获取对象并转换为json

时间:2018-01-12 06:40:44

标签: scala playframework

任何人都有Scala Controller的好例子调用Dao methods来获取对象,并转换为json作为我的参考?我对以下Controller getProject(id)感到困惑。请指教。

由于

@Singleton
abstract class ProjectController @Inject()(projectDao: ProjectDao) extends BaseController() 
{
      def index(): Action[AnyContent] = Action {
        Ok(com.workday.appsec.midi.views.html.index("Your application is ready."))
      }

      def getProject(id: Long): Action[AnyContent] = Action { implicit request =>
        val proj: Future[Option[Project]] = projectDao.getProjectById($id)

        //TODO: GET STUCK HERE!!
        //need to convert to json object and return to the response
        Json.toJson(proj)   
      }
}

2 个答案:

答案 0 :(得分:0)

这是我做的一个示例项目。您可能会觉得这很有帮助!

https://github.com/joesan/plant-simulator/blob/master/app/com/inland24/plantsim/controllers/PowerPlantController.scala

这个想法是,你使用play json库来序列化你的case类和json的序列化。

答案 1 :(得分:0)

您只需将对象传递给Ok即可 proj.flatMap {  case Some(prj)=> Future.successful(Ok(prj))  案例无: }