Search code examples
scalaplayframeworksbtplayframework-2.4typesafe-activator

Play 2.4 migration:JavascriptReverseRoute is not a member of object play.core.Router error


Iam new to scala play framework, I have used this JavascriptRoute.scala file for AJAX calling in play 2.3.9 and it was working fine.

package controllers

import play.api.Routes
import play.api.mvc.Action
import play.api.mvc.Controller
import play.api.mvc.EssentialAction
import play.core.Router.JavascriptReverseRoute
import play.core.Router._
import routes.javascript.Application.index
import routes.javascript.Organizations.ajaxCallOrgStatus
//import routes.javascript.Users.ajaxCallForDomain
import routes.javascript.Users.domainMap

object JavascriptRoute extends Controller {

  /* Application related JavascriptReverse Route will goes here */
  val appRoutes: List[JavascriptReverseRoute] = List(index,ajaxCallOrgStatus,domainMap)

  /* All JavascriptReverse Route will combine here */
  val javascriptRouters = appRoutes

  /**
   * This is used to generate JavascriptReverseRoute for all provided actions
   *
   * @return
   */
  def javascriptRoutes: EssentialAction = Action { implicit request =>
    import routes.javascript._
    Ok(Routes.javascriptRouter("jsRoutes")(javascriptRouters: _*)).as("text/javascript")
  }
}

When I migrated to play 2.4 framework it shows the following errors

[error] D:\my-app\app\controllers\JavascriptRoute.scala:7: value JavascriptReverseRoute is not a member of object play.core.Router [error] import play.core.Router.JavascriptReverseRoute [error] ^ [error] D:\my-app\app\controllers\JavascriptRoute.scala:17: not found: type JavascriptReverseRoute [error] val appRoutes: List[JavascriptReverseRoute] = List(index,ajaxCallOrgStatus,domainMap)

I have tried to fix the import statements for play 2.4.x but I couldn't find a alternate for this import play.core.Router.JavascriptReverseRoute.


Solution

  • It has been moved under play.api.routing:

    https://www.playframework.com/documentation/2.4.3/api/scala/index.html#play.api.routing.JavaScriptReverseRoute