如何从Grails中的UrlMapping中排除特定关键字?

con*_*ile 5 grails url-mapping grails-2.0

我在Grails中使用以下url映射:

"/$id"{
  controller = "user"
  action = "show"
}       
Run Code Online (Sandbox Code Playgroud)

映射网址,如mydomain.com/someusername

如何将约束附加到网址映射以排除"登录","注销"等关键字,...

即,mydomain.com/someusername应该路由到mydomain.com/user/show/someusername,mydomain.com/login不应该路由到mydomain.com/user/show/login.

Igo*_*nov 14

您可以使用contrainsts进行此映射:

"/$id"{
  controller = "user"
  action = "show"
  constraints {
    //add a validator for $id from url mapping
    id(validator: {
        return !(it in ['login', 'logout'])
    })
  }
}    
Run Code Online (Sandbox Code Playgroud)