J'ai créé une application Grails (1.2.1) Outils SpringSource Suite 2.3.2 et voici mon UrlMappings.groovy:comportement UrlMappings étrange pour Grails 1.2.1
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/broadcasters/setInterval" { //cause a 404
controller = "broadcaster"
action = "setRefreshInterval"
}
"/broadcasters/online/$id?" { //this one is OK
controller = "broadcaster"
action = "listOnlineBroadcasters"
}
"/broadcasters/$id?" { //this one is OK
controller = "broadcaster"
action = "listAllBroadcasters"
}
"/" (controller: "login", action:"auth")
"/logout" (controller: "logout")
"500"(view:'/error')
"404"(view:'/404')
}
}
Voici mon contrôleur
package xxx.yyy.controllers
import org.codehaus.groovy.grails.plugins.springsecurity.Secured
@Secured(['ROLE_ADMIN'])
class BroadcasterController {
def broadcasterService
static defaultAction = "listAllBroadcasters"
def listOnlineBroadcasters = {
...
}
def listAllBroadcasters = {
...
}
def setRefreshInterval = {
...
}
}
Quand j'accéder à l'URL /diffuseurs/setInterval, j'ai une 404 fois comme demande normale ou ajax. J'écris également un test unitaire simple pour vérifier mes UrlMappings:
class GSMUrlMappingTests extends GrailsUrlMappingsTestCase {
void testUrlMapping() {
assertUrlMapping ("/broadcasters/setInterval", controller: "broadcaster", action: "setRefreshInterval")
}
}
Et le test a échoué! Est-ce un bug de Grails 1.2.1 ou ai-je oublié quelque chose? Voici les plugins que je l'ai utilisé
plugins.acegi=0.5.2
plugins.debug=1.0.2
plugins.hibernate=1.2.1
plugins.jdbc-pool=0.1
plugins.tomcat=1.2.1
Généralement, à la fin d'une action du contrôleur, vous redirigez ou affichez quelque chose. Si vous n'avez pas défini quelque chose d'explicite à rendre, il pourrait essayer de rendre la vue par défaut (/broadcasters/setInterval.gsp). Puisque vous avez masqué votre action de contrôleur setRefreshInterval, il est difficile de savoir quel est le problème. Voir le document de référence à http://www.grails.org/doc/latest/guide/single.html#6.1.3%20Models%20and%20Views –