GET / controllers.HomeController.index
GET /users controllers.Users.list
GET /users/:id controllers.Users.show(id: Long)
POST /users controllers.Users.create
PUT /users/:id controllers.Users.update(id: Long)
DELETE /users/:id controllers.Users.delete(id: Long)

GET /search controllers.Search.search(q: String, filter: String)
GET /users/:userId/posts/:postId controllers.Posts.show(userId: Long, postId: Long)

GET /items controllers.Items.list(category: Option[String], page: Int)

GET /files/$path<.+> controllers.Files.download(path: String)
POST /upload controllers.Upload.file

GET /api/protected controllers.Api.protectedEndpoint
POST /api/data controllers.Api.postData

GET /assets/*file controllers.Assets.at(path="/public", file)

POST /multipart controllers.MissingController.multipart
POST /xml controllers.MissingController.xml
POST /whitespace controllers.MissingController.whitespace

-> /admin admin.Routes

# lila-style include: the sub-routes file already carries the mount prefix,
# so it must NOT be doubled into /appeal/appeal/...
-> /appeal appeal.Routes
