Configuring route definitions
Play supports both static and dynamic request paths. If a request path cannot be matched to any of the defined routes, an Action not found
error is thrown at runtime, which is rendered using the devNotFound.scala.html
default template.
Dynamic paths
Dynamic paths are those that can be used for multiple requests and they may or may not result in a similar response. For example, the default assets path is a path used to serve resources:
GET /assets/*file controllers.Assets.at(path="/public", file)
The *
symbol indicates that anything following /assets/
until a space is found is the value of the file
variable.
Let's look at another way to make the path dynamic when we need to add one or more variables. For example, to get a user's details by userId
we use the following code:
GET /api/user/:userId controllers.UserController.getUser(userId)
By default, all the variables that occur in a path are of the String
type. If a...