Grails Goodness: Create Report of URL Mappings
Since Grails 2.3 we can use the url-mappings-report
command to get a nice report of the URL mappings we have defined in our application. Also implicit mappings created for example by using the resources
attribute on a mapping definition are shown in the report. This report is very useful to see which URLs are exposed by your application and how they map to controllers.
Suppose we have the following grails-app/conf/UrlMappings.groovy
with a couple of mappings:
// File: grails-app/conf/UrlMappings.groovy
class UrlMappings {
static mappings = {
// Map to HTTP methods.
"/upload"(controller: 'upload') {
action = [POST: 'file']
}
// RESTful API.
"/api/users"(resources: 'user')
// Default mapping.
"/$controller/$action?/$id?(.${format})?"()
// Main index.
"/"(view: "/index")
// Error mappings.
"500"(controller: 'error')
"404"(controller: 'error', action: 'notFound')
}
}
When we run the following command $ grails url-mappings-report
we get the following output:
| URL Mappings Configured for Application
| ---------------------------------------
Dynamic Mappings
| * | /${controller}/${action}?/${id}?(.${format)? | Action: (default action) |
| * | / | View: /index |
Controller: dbdoc
| * | /dbdoc/${section}?/${filename}?/${table}?/${column}? | Action: (default action) |
Controller: error
| * | ERROR: 500 | Action: (default action) |
| * | ERROR: 404 | Action: notFound |
Controller: upload
| * | /upload | Action: {POST=file} |
Controller: user
| GET | /api/users | Action: index |
| GET | /api/users/create | Action: create |
| POST | /api/users | Action: save |
| GET | /api/users/${id} | Action: show |
| GET | /api/users/${id}/edit | Action: edit |
| PUT | /api/users/${id} | Action: update |
| DELETE | /api/users/${id} | Action: delete |
Notice also mappings added by plugins like the mappings to dbdoc controller are shown.
Code written with Grails 2.3.