Странное поведение UrlMappings для Grails 1.2.1 - PullRequest
0 голосов
/ 25 марта 2010

Я создал приложение Grails (1.2.1) в SpringSource Tools Suite 2.3.2, и вот мой UrlMappings.groovy:

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')
 }
}

Вот мой контроллер

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 = {
  ...
 }
}

Когда я получаю доступ к URL / broadcasters / setInterval , я получаю 404 как обычный запрос, так и запрос ajax. Я также пишу простой модульный тест для проверки моих UrlMappings:

class GSMUrlMappingTests extends GrailsUrlMappingsTestCase {
    void testUrlMapping() {
        assertUrlMapping ("/broadcasters/setInterval", controller: "broadcaster", action: "setRefreshInterval")
    }
}

И тест не пройден! Это ошибка Grails 1.2.1 или я что-то упустил? Вот плагины, которые я использовал

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

1 Ответ

0 голосов
/ 01 марта 2011

class UrlMappings { static mappings = { "/$controller/$action?/$id?"{ constraints { // apply constraints here } }

закрыто. Другие сопоставления должны быть в пределах

...